Calcul de secondes entre des dates

Eléphant du PHP | 80 Messages

30 sept. 2005, 23:37

Bonsoir,

J'ai un problème : je voudrais savoir comment faire pour que, lorsque que 2 dates sont uploadées sur le serveurs, comment faire pour calculer la différence, en secondes entre les deux dates ?

Merci de répondre rapidement, c'est cré cré cré pressé... :oops:

Bonne soirée
XaV...
Webmaster des Larmes du Chaos

Mammouth du PHP | 19672 Messages

30 sept. 2005, 23:41

N'oublie jamais que c'est pressé... pour toi !

Transforme tes dates en timestamp avec variant_date_to_timestamp() et calcule la différence. Le timestamp UNIX est un nombre de secondes écoulées depuis le 1er janvier 1970.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 80 Messages

01 oct. 2005, 00:04

Merci :wink: je sais, c'est relatif, mais là, je suis cuit si je fais pas ça avant demain.

Merci ;)
XaV...
Webmaster des Larmes du Chaos

Mammouth du PHP | 19672 Messages

01 oct. 2005, 00:08

Tu n'oublieras pas pour autant le résolu si ça fonctionne. :)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 80 Messages

01 oct. 2005, 00:44

Bah euh, j'ai un doute :

Sur ma base de donnée, je dois créé 4 colonnes en tout 2 contenant les dates en format "normal", et 2 autres en timestamp ?

Merci
XaV...
Webmaster des Larmes du Chaos

Mammouth du PHP | 19672 Messages

01 oct. 2005, 00:50

Pour quoi faire ? tu n'as besoin que ponctuellement d'un écart entre deux dates en secondes: comme c'est un champ calculé, tu n'as pas besoin de le mettre dans la base. Quand aux timestamps, tu n'as pas nécessairement besoin de les enregistrer s'ils ne te servent qu'à cette seule occasion: si tu as besoin des dates par ailleurs, elles sont plus faciles à manipuler qu'un timestamp.

Mais comme je ne sais pas eaxctement ce que fait ton application, difficile de te donner l'heure juste :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 80 Messages

01 oct. 2005, 00:52

Je vais donc dire ça plus clairement :

je souhaite calculer le nombre de secondes entre deux connexions d'un membre... je peux faire directement timestamp ?

Merci
XaV...
Webmaster des Larmes du Chaos

Mammouth du PHP | 1776 Messages

01 oct. 2005, 00:55

Bah euh, j'ai un doute :

Sur ma base de donnée, je dois créé 4 colonnes en tout 2 contenant les dates en format "normal", et 2 autres en timestamp ?

Merci
lol
http://www.nexen.net/docs/php/annotee/f ... mktime.php

Eléphant du PHP | 80 Messages

01 oct. 2005, 00:57

Oui, mais avec ta fonction, ça veut pas dire qu'il faudrait que je connaisse la date de reconnexion sur et certaine du membre ? ou alors je comprends pas comment elle marche :oops:
XaV...
Webmaster des Larmes du Chaos

Mammouth du PHP | 1776 Messages

01 oct. 2005, 00:59

Je vais donc dire ça plus clairement :

je souhaite calculer le nombre de secondes entre deux connexions d'un membre... je peux faire directement timestamp ?

Merci
oui, c le mieux je pense :wink:
De plus, à partir du timestamp tu peux retrouver une date
$dc= "Dernière connexion le".date("d-m-Y \à G:i",$secondes_derniere_connexion);

Eléphant du PHP | 80 Messages

01 oct. 2005, 01:01

Euh, dans ton bout de code, je ne vois pas où on parle de la session du membre :s
XaV...
Webmaster des Larmes du Chaos

Mammouth du PHP | 1776 Messages

01 oct. 2005, 01:03

Oui, mais avec ta fonction, ça veut pas dire qu'il faudrait que je connaisse la date de reconnexion sur et certaine du membre ? ou alors je comprends pas comment elle marche :oops:
ba en fait soit tu insères la date de dernière connexion du membre en timestamp UNIX en BDD: La c'ests imple, tu compares l'heure actuelle à la dernière connexion, tu prends le soin de tout mettre en variable de session comme ca la derniere connexion au compte est mise a jour des la reconnexion du membre et tu conserve ta variable.
soit tu insères en format datetime, la c la meme chose (une seule insertion, comparaison par rapport a lheure actuelle et variables session). Seulement, tu ne traite plus un nombre de seconde smais un timestamp.

Je te conseille la premiere solution qui te permet de manipuler tous les formats simplement :wink:

Mammouth du PHP | 1776 Messages

01 oct. 2005, 01:05

Euh, dans ton bout de code, je ne vois pas où on parle de la session du membre :s
Nulm part, je vais pas te servir non plus le menu un script sur commande. C'est pas le Mac do :wink:
Je te montre la possibilité d'afficher la dernière connexion du membre en texte juste en ayant préalablement recuperé son timestamp de derniere connexion en bdd. A toi de faire le reste ensuite :wink:

Eléphant du PHP | 80 Messages

01 oct. 2005, 01:05

Je sais pas, je dois être dans le paté à cette heure ci, mais j'ai absolument rien compris de ce qu'il me faut faire :s
XaV...
Webmaster des Larmes du Chaos

Mammouth du PHP | 19672 Messages

01 oct. 2005, 01:10

L'idée a du bon : quand l'internaute se connecte, tu crée un timestamp instantané. Tu fais ensuite une recherche dans la base de sa dernière connexion et tu fais le calcul avec ça de la différence entre l'ancienne connexion et l'actuelle. ensuite, tu peux enregistrer cette différence quelque part pour des besoins statistiques et tu mets à jour le timestamp enregistré dans la base. Résultat des courses, tu n'as besoin que d'un seul champ dans la base pour le timestamp que tu transforme en date pour le mettre dans la base au format DATE parce que le TIMESTAMP UNIX et le TIMESTAMP SQL ne sont pas les mêmes et le second est une simple concaténation des éléments composant une date au lieu d'un nombre de secondes..
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: