Überprüfen Sie, ob zwei Zeitstempel am gleichen Tag sind

8

Ich erhalte einige Daten von SQL mit Zeitstempel und ich möchte überprüfen, ob sie am selben Tag sind oder nicht ....

In einer Schleife versuche ich zu überprüfen, ob der vorherige Loop-Zeitstempel derselbe wie der aktuelle Loop-Zeitstempel ist ... Ich versuche etwas wie das ...

%Vor%

Aber obwohl sie am selben Tag sind, aber sie unterscheiden sich in der Zeit ...... Ich möchte nur überprüfen, ob sie beide am selben Tag sind oder nicht ..... Ich kann sie trimmen, bevor ich sie vergleiche, so dass es gut funktioniert .... aber gibt es noch einen anderen effektiven Weg, dies zu tun .....

Prost ...

    
troy 07.12.2012, 13:02
quelle

3 Antworten

12

Es ist mir nicht klar, ob Sie überprüfen möchten, ob es am selben Tag oder am selben Tag ist: Sie sprechen über denselben Tag, aber von dem, was Sie gerade tun, wollen Sie überprüfen, ob es das gleiche Datum ist. Eine Möglichkeit zu überprüfen, ob es das gleiche Datum ist, ist Folgendes:

%Vor%

Sie erstellen grundsätzlich ein neues Date-Objekt und setzen alle Zeitwerte (Stunden, Minuten, Sekunden und Millisekunden) zurück.

Wenn Sie nur für diese Überprüfung previousdate verwenden, können Sie vereinfachen:

%Vor%

Neben der Operation * 1000 ist das der einfachste und sicherste Weg AFAIK. Sie lassen den Motor alle Berechnungen durchführen: Nicht alle Tage werden um 24 Stunden gemacht - siehe Sommerzeit - und nicht alle Minuten werden um 60 Sekunden gemacht - siehe die Schaltsekunde; Es ist also keine sichere Operation, wenn man davon ausgeht.

Natürlich könnte ein Motor zum Beispiel auch nicht mit der Schaltsekunde arbeiten, aber es ist immer noch besser, zumindest für die Sommerzeit.

    
ZER0 07.12.2012, 13:53
quelle
10

Sie können auch versuchen, ihre Datumszeichenfolgen zu überprüfen.

%Vor%

Das ist nett, weil es ziemlich einfach ist, Inline zu machen.

    
vpontis 04.08.2014 20:10
quelle
3

Da dir nur das UTC-Datum wichtig ist, sollte das einfach sein. Ihr Zeitstempel ist in Sekunden, wenn Sie also durch die Anzahl der Sekunden an einem Tag dividieren und dann den Wert floor, erhalten Sie die Anzahl der Tage seit dem 1. Januar 1970. Wenn beide Werte die gleiche Anzahl von Tagen seit 1970 sind Dann hast du eine Übereinstimmung.

%Vor%     
Nathan Wall 07.12.2012 13:10
quelle

Tags und Links