2016-09-09 3 views
0

, wenn mein Computer Datetime-Format als yy/mm/dd Datumzeit mit oder mm/tt/oder unabhängig Bildungunterschiedlich zwischen Datumsformat, wenn das aktuelle Datum erhalten nur

Datetime date1 = ... /// assume date1 is date1 < date2 and date1 < date3 
DateTime date2 = DateTime.Parse(DateTime.Now.ToString("dd-MM-yyyy")) ; 
DateTime date3 = DateTime.Now.Date; 

DateTime.Compare(date1 ,date2); and DateTime.Compare(date1 ,date3); 

was wäre das Ergebnis? ist es für date2 und date3 zurück 1, wenn vergleichen date1? DateTime.Parse(DateTime.Now.ToString("dd-MM-yyyy") ist gleich DateTime.Now.Date?

+0

was ist das 'date1'? Sie code zeigen '...' und definieren zweimal von 'date2' – Prisoner

+0

@Alex aktualisiert die Frage. – theinarasu

+0

@theinarasu - Verstehst du, dass der 'DateTime' -Typ ** nicht ** ein Format hat und dass es nur dann, wenn du es analysierst oder als' String' ausgibst, dass du ein Format hast? Es ist die 'Zeichenfolge', die ein Format hat. – Enigmativity

Antwort

3

Nicht sicher warum machst du DateTime.Parse(DateTime.Now.ToString("dd-MM-yyyy")); ..?

Um Ihre Frage zu beantworten, werden sowohl date2 als auch date3 abhängig von Ihrem Computer (oder dem Gerät, das diesen Code ausführt) unterschiedlich.

Wenn also date1 immer früher ist, können Sie TimeSpan diff = date3 - date1; tun, was Ihnen TimeSpan Objekt geben wird. Dann können Sie diff.Days die Anzahl der Tage Differenz erhalten.

Und ja date3 wird nur Datum da drin haben. Die Uhrzeit wird auf 24:00 Uhr eingestellt. Siehe here.

TimeSpan.Days

+0

ist das falsche Ansatz? Bitte korrigieren Sie mich, wenn ich falsch liege, der Hauptzweck ich tue so, um das aktuelle Datum nur ohne Zeit zu erhalten, DateTime.Now.date das wird Zeit 12.00pm – theinarasu

+1

Parsing Datetime jetzt String und zurück ist sehr falsch. Ich werde dich dort töten. – Bob

+0

danke für Hinweis darauf ... aber DateTime.now.Date wurde mit der Zeit als 12.00 Uhr zurück .. es ist ein Problem, wenn Datetime.Compare, da der Wert von Datum1 im nur mit Datum ohne Zeit übergeben – theinarasu

1

Wenn Sie nur datewithout Zeit möchten, dann können Sie versuchen String x = DateTime.Now.ToShortDateString(); Ergebnis wird x = "09-09-2016"

+0

Danke für die Antwort .. – theinarasu

Verwandte Themen