Autor Beitrag
felix96
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34


VS 2010 Express
BeitragVerfasst: Mo 13.09.10 20:46 
Hallo, hab schon gesurft, auch mit der Forums suche.
Aber was ist hier dran falsch?

ausblenden C#-Quelltext
1:
myTime = Convert.ToDateTime("23.7.2010");					


Danke schonmal für Antworten
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 13.09.10 20:49 
user profile iconfelix96 hat folgendes geschrieben Zum zitierten Posting springen:

ausblenden C#-Quelltext
1:
myTime = Convert.ToDateTime("23.7.2010");					

Keine Ahnung. Was erwartest du? Was kommt bei raus? Was gibt es für eine Fehlermeldung? Und was hat der Code mit dem Beitragstitel zu tun?
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mo 13.09.10 20:52 
Zitat:
Aber was ist hier dran falsch?


Das die Frage nicht zum Code passt? Wenn da was falsch ist solltest du uns sagen was da raus kommt und was du stattdessen erwartet hättest.
felix96 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34


VS 2010 Express
BeitragVerfasst: Mo 13.09.10 20:53 
Gelöst, ich muss ein Englisches Datum angeben: myTime = Convert.ToDateTime("7.23.2010");

Wie kann ich ein Deutsches Datum in ein Englisches umrechnen lassen?

Edit:
Okay, sry der Titel war schlecht gewählt.
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mo 13.09.10 21:02 
Englisches Datum und deutsches Datum sind identisch. Die Darstellung als string mag unterschiedlich sein.

Du musst bei der Typumwandlung von string nach Datetime bzw. umgekehrt der gewählten Konvertierungsmethode (Convert.ToDateTime, Convert.ToString, DateTime.Parse usw.)
einen Formatprovider mitgeben der definiert wie das Datum als string zu interpretieren ist. Details dazu gibt es z.B. in der Hilfe zu Datetime.Parse.
danielf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: Di 14.09.10 07:48 
Hallo,

da mir die "normalen" Datentypen zu unsicher sind gebe ich die folge immer speziell an. D.h. ich verwende die ParseExact-Methode der DateTime Klasse.

Die erwartet Eingabe String, das Format und die aktuelle Culture (CultureInfo.CurrentCulture).

Gruß
felix96 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34


VS 2010 Express
BeitragVerfasst: Mi 15.09.10 18:45 
Ok, danke es klappt :P
Aber wie kann ich jetzt es so hinkriegen, das in String1 Tage und in String2 Monate stehen?

P.S. Meine Lösung ist z.Z. so:
ausblenden C#-Quelltext
1:
2:
                    myTime = DateTime.ParseExact("23.07.2010""dd.MM.yyyy", System.Globalization.CultureInfo.InvariantCulture);
                    mySpan = DateTime.Now - myTime;


Da kommt aber irgendwas kryptisches raus, wie kann ich es also in diese strings^^ schreiben?
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 15.09.10 22:37 
Dein Fragen ist mal wieder ein Rätsel? Dein Code lässt vermuten das du Tage und Monate als Differenz von zwei Zeitpunkten willst. Dein Frage leider nicht. Was willst du denn jetzt?

Willst du ein Datum in seine Einzelteile zerlegen -> Tag 23, Monat 7, Jahr 2010
oder die Differenz zweier DateTimes?
Und wenn es dir um die Differenz geht dann in absoluten Monaten und Tagen -> 3,512 Monate oder 105,6 Tage oder 2534,4 Stunden
oder geht es dir um die jeweiligen ganzen Anteile der Differenz -> 3 Monate 15 Tage 14 Stunden
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Mi 15.09.10 23:40 
Schau dir einfach mal die Eigenschaften von TimeSpan, dem Ergebnis deiner Subtraktion an. Dort findest du z.B. die Days, die die Anzahl der Tage in der Differenzzeitspanne angibt. Teile durch 30, und du erhältst ungefähr die Anzahl der Monate.

Wenn du wirklich die Differenz der Monatsnummern und die der Tage im Monat berechnen willst, greife direkt auf Month und Day deiner DateTimes zu und berechne deren Differenz.

Ist dir klar, dass man die Zeitspanne zwischen zwei beliebigen Zeitpunkten nicht in Monaten angeben kann? Ein Monat kann ja zwischen 28 und 31 Tage haben...

Bitte starte beim nächsten Thema ein neues Topic. Du hast zwar auch mit Datumsfragen angefangen, die haben aber nicht viel mit der aktuellen zu tun.
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Do 16.09.10 16:09 
Zitat:
Ist dir klar, dass man die Zeitspanne zwischen zwei beliebigen Zeitpunkten nicht in Monaten angeben kann? Ein Monat kann ja zwischen 28 und 31 Tage haben...


Doch geht natürlich nur eben nicht über den trivialen Weg einer simplen Subtraktion.
Beispiel

13.3.2010 bis 26.6.2010

2 komplette Monate (April, Mai)
+ 19/31 anteiliger März
+ 26/30 anteiliger Juni
----------------------------------------
~ 3,4796 Monate
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Do 16.09.10 18:32 
user profile iconRalf Jansen hat folgendes geschrieben Zum zitierten Posting springen:
Zitat:
Ist dir klar, dass man die Zeitspanne zwischen zwei beliebigen Zeitpunkten nicht in Monaten angeben kann? Ein Monat kann ja zwischen 28 und 31 Tage haben...


Doch geht natürlich nur eben nicht über den trivialen Weg einer simplen Subtraktion.

Ok, ich hab mich ungenau ausgedrückt. Es ist nicht möglich, eine Zeitspanne in Monaten anzugeben und dieses Ergebnis wieder zurück in eine Zeitspanne umzuwandeln.

user profile iconRalf Jansen hat folgendes geschrieben Zum zitierten Posting springen:
Beispiel

13.3.2010 bis 26.6.2010

2 komplette Monate (April, Mai)
+ 19/31 anteiliger März
+ 26/30 anteiliger Juni
----------------------------------------
~ 3,4796 Monate

Dabei sind Juni-Tage mehr Wert als März-Tage. Ob das sinnvoll ist, hängt ganz von der Anwendung ab.
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Do 16.09.10 18:41 
Zitat:
Dabei sind Juni-Tage mehr Wert als März-Tage


Jeder Sonnenanbeter wird dem zustimmen ;)