Calcul du temps écoulé entre deux dates..

Résolu/Fermé
68_abis Messages postés 6 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 8 juillet 2005 - 5 juil. 2005 à 11:23
68_abis Messages postés 6 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 8 juillet 2005 - 8 juil. 2005 à 17:07
Bonjour à tous,
J'utilise la fonction time() en php pour connaitre le nombre de secondes écoulées entre deux dates..
En php la date de référence pour le calcul est le 01/01/1970 à 0heure GMT..

Existe-il une fonction équivalente en delphi...(version 6 mini). ? J'ai bien fait des calculs en utilisant la fonction
daysBetween et en tenant compte de l'heure à l'instant T, mais j'ai un écart , bon il est de 1minute et 99 centièmes sur 35 ans, mais j'aime la précision....Alors si quelqu'un peut m'aider...

Merci à tous...

7 réponses

Niki2001 Messages postés 85 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 17 décembre 2005 1
5 juil. 2005 à 13:37
Rien de plus simple (en théorie). Tu ne le savais peut être pas mais les types TDateTime, TDate et TTime sont des dérivés de Double, et donc des nombres décimaux. Pour information, la partie entière est le nombre de jours depuis 30/12/1899 et la partie décimale est le nombre de millisecondes depuis minuit.
Pour ton problème, une simple soustraction suffit donc.
3
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
5 juil. 2005 à 15:41
Salut,



Pour être exact, la partie décimale représente la partie de jour
écoulée : 0,5 repésentre 1/2 journée soit 6 heures, 0 minutes et 0
secondes



Donc :

si tu soustrais 2 TDateTime la partie entière te renvoie le nombre de journées entre les deux dates


si tu multiplies cette différence par 24,
la partie entière te renvoie le nombre d'heures entre les deux dates



si tu multiplies cette différence par 24 *60,
la partie entière te renvoie le nombre de minutes entre les deux dates



si tu multiplies cette différence par 24*60*60,
la partie entière te renvoie le nombre
de secondes
entre les deux dates





Ken@vo

Code, Code, Codec !

[%3C/body ]
3
Niki2001 Messages postés 85 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 17 décembre 2005 1
5 juil. 2005 à 15:53
Autant pour moi, merci kenavo!
3
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 12
5 juil. 2005 à 16:19
salut kenavo,

dis donc tu as des journees particulièrement courtes !! Ou alors le temps universel a changé .

La journée étant le contenu d'un jour soit 24 heures et si le systeme US divise le jour en 2*12 heures (AM et PM) 6 heures representent quand même 1/4 de journée mais sur le reste tu as parfaitement raison

Simple question de sémantique
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
5 juil. 2005 à 18:25
Ah ouais ! 6 heures la demi-journée, c'est un peu court ! pan sur le biniou !



Ken@vo

Code, Code, Codec !

[%3C/body ]
3
cs_PHIL63 Messages postés 76 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 10 août 2010
5 juil. 2005 à 18:47
Bonsoir tous,
DaysBetween calcule des jours entiers, la fonction DaySpan elle prend en compte des même les jours non entiers.
Je ne sais pas si ça va aider... je ne suis pas un super crack avec delphi...

Philippe DROUET
3
68_abis Messages postés 6 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 8 juillet 2005
8 juil. 2005 à 17:07
Merci à tous pour ces explications,

Je vais pouvoir être plus précis sur mon calcul..

On ne sais jamais, si cela tombe le jour de mon anniversaire je ne voudrais pas vieillir trop vite..
0
Rejoignez-nous