Fonction date() et fuseau horaire
Résolu/Fermé
Bonjour,
Si j'enregistre la date courante avec la fonction time() et que je l'affiche avec la fonction date(), je n'ai pas de décalage horaire.
Sauf, si je soustrais deux time() ensemble et que j'affiche le résultat avec la fonction date(), j'ai un décalage horaire de +1h.
Mais si j'affiche le résultat de la soustraction des deux time(), je n'ai pas de décalage horaire. Mon fuseau horaire lui, est bien configuré.
Cordialement,
Si j'enregistre la date courante avec la fonction time() et que je l'affiche avec la fonction date(), je n'ai pas de décalage horaire.
Sauf, si je soustrais deux time() ensemble et que j'affiche le résultat avec la fonction date(), j'ai un décalage horaire de +1h.
Mais si j'affiche le résultat de la soustraction des deux time(), je n'ai pas de décalage horaire. Mon fuseau horaire lui, est bien configuré.
Cordialement,
A voir également:
- Fonction date() et fuseau horaire
- Fonction si et - Guide
- Fuseau horaire france switch - Forum Webmastering
- Publipostage date inversée ✓ - Forum Word
- Mfg date - Forum PC portable
1 réponse
Utilisateur anonyme
Modifié par le père. le 27/02/2015 à 09:56
Modifié par le père. le 27/02/2015 à 09:56
Bonjour
time() te donne un timestamp, c'est à dire un instant bien précis, qui peut être par exemple le 27 février 2015 9 h 41 min 18 s.
Quand tu soustrais deux timestamps, tu n'obtiens plus une date précise, mais la durée qui s'est écoulée entre les deux instants : ce n'est pas un timestamp.
date() sert à mettre en forme des timestamps, essayer de l'appliquer à des durées n'a tout simplement pas de sens. Dans le cas d'une durée nulle par exemple, date() va te sortir le 1er janvier 1970 0h, 1h, 2h.. selon ton fuseau horaire, ce qui est une absurdité.
Si tu ne veux afficher que des périodes de quelques jours ou quelques heures, tu peux faire le calcul toi-même, il est très simple.
Si tu veux des périodes dépassant le mois, tu ne peux pas le faire avec une différence entre deux time() car la longueur des mois ne fait pas toujours le même nombre de secondes. Tu es obligé d'utiliser difftime en indiquant la date de début et celle de fin.
time() te donne un timestamp, c'est à dire un instant bien précis, qui peut être par exemple le 27 février 2015 9 h 41 min 18 s.
Quand tu soustrais deux timestamps, tu n'obtiens plus une date précise, mais la durée qui s'est écoulée entre les deux instants : ce n'est pas un timestamp.
date() sert à mettre en forme des timestamps, essayer de l'appliquer à des durées n'a tout simplement pas de sens. Dans le cas d'une durée nulle par exemple, date() va te sortir le 1er janvier 1970 0h, 1h, 2h.. selon ton fuseau horaire, ce qui est une absurdité.
Si tu ne veux afficher que des périodes de quelques jours ou quelques heures, tu peux faire le calcul toi-même, il est très simple.
Si tu veux des périodes dépassant le mois, tu ne peux pas le faire avec une différence entre deux time() car la longueur des mois ne fait pas toujours le même nombre de secondes. Tu es obligé d'utiliser difftime en indiquant la date de début et celle de fin.
27 févr. 2015 à 23:44
https://forums.commentcamarche.net/forum/affich-28404633-fonction-time-php#12
28 févr. 2015 à 22:20
1 mars 2015 à 01:07
Bon courage pour la suite.