2010-11-22 4 views
1

J'utilise datediff ("h", TimeFormat (timbre), TimeFormat (maintenant)) et vérifie une différence gt de 7. Si l'heure est supérieure à 7, le timbre sera mis à jour. Il ne vérifie que de temps en temps, il est donc possible de passer une journée sans vérification. Est-ce que le datediff comprendra que 5h mardi est 24 heures différent de 5h mercredi?peut DateDiff dire la différence horaire entre différents jours?

+0

C'est en fait 'TimeFormat' qui vous donnait le problème. Dans le cas que vous avez cité, les deux valeurs auraient été remplacées par «05:00 AM» et le résultat aurait été «0». –

Répondre

5

si la variable 'stamp' est une date/heure complète, alors oui. il calculera correctement le nombre d'heures entre la valeur 1 et la valeur 2.

Vous n'avez pas besoin de formater les valeurs transmises dans l'un ou l'autre. dateFormat() et timeFormat() sont des fonctions d'affichage destinées à rendre une valeur date/heure présentable à un lecteur humain. Une fonction (telle que dateDiff(), dateAdd(), etc) n'a pas besoin de la valeur de la date pour être formatée d'une manière spécifique. Il a juste besoin d'être une valeur date/heure valide.

Donc, en supposant:

timbre = createDateTime (2010, 11, 21, 1, 0, 0); // crée une date/heure du 21 nov. 2010 1:00 am

dateDiff ('h', timbre, maintenant); // Cela fonctionnera. pas besoin de fonctions de formatage.

+0

merci! je l'ai testé, vous avez raison – tylercomp