2010-11-22 8 views
1

Ich benutze datediff ("h", TimeFormat (Stempel), TimeFormat (jetzt)) und Prüfung auf einen Unterschied gt als 7. Wenn die Zeit größer als 7 ist, wird es den Stempel aktualisieren. Es überprüft nur hin und wieder, so dass es möglich ist, einen Tag ohne Überprüfung zu gehen. Wird der Datiff verstehen, dass 5 Uhr Dienstag 24 Uhr anders ist als 5 Uhr mittwochs?kann DateDiff den Stundenunterschied zwischen verschiedenen Tagen angeben?

+0

Es ist eigentlich das 'TimeFormat', das Ihnen das Problem gab. Beide Werte in dem von Ihnen genannten Fall wären auf "05:00 Uhr" geändert worden und das Ergebnis wäre "0" gewesen. –

Antwort

5

Wenn die Variable 'Stempel' ein vollständiges Datum/Uhrzeit ist, dann ja. Die Anzahl der Stunden zwischen Wert 1 und Wert 2 wird korrekt berechnet.

Sie müssen die Werte, die übergeben werden, nicht formatieren. dateFormat() und timeFormat() sind Anzeigefunktionen, die einem menschlichen Leser einen Datums-/Uhrzeitwert präsentieren sollen. Eine Funktion (z. B. dateDiff(), dateAdd() usw.) muss den Datumswert nicht in einer bestimmten Weise formatieren. Es muss nur ein gültiger Datums-/Uhrzeitwert sein.

So vorausgesetzt:

stamp = Create (2010, 11, 21, 1, 0, 0); // Erstellt ein Datum/eine Uhrzeit vom 21. November 2010 1:00 Uhr

dateDiff ('h', Stempel, jetzt); // das wird funktionieren. keine Formatierungsfunktionen erforderlich.

+0

danke! Ich habe es getestet, Sie haben Recht – tylercomp

Verwandte Themen