PB dans la gestion des dates
mario90
Messages postés
29
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
je débute en PHP/MySQL en créant un site perso. Dans ce site, je suis amené à travailler avec des dates (comme dans la plupart des sites ;-) et je rencontre un pb avec ceci.
Voici le bout de mon code :
______________________________
$Vdtessai = new DateTime();
$Vdtessai->setDate(2015,08,25);
$Vdtessai->setTime(20,45);
$V_DateJ1=$Vdtessai->getTimestamp();
echo "V_DateJ1 : ".$V_DateJ1;
________________________________
Dans ce code, on voit que je force ma date au 25/08/2015 à 20h45
Or, lorsque que j'affiche ma variable, la valeur affichée est '1419540300', ce qui correspond au 25/12/2014 à 21h45.
Pouvez-vous m'expliquer ce décalage ?
Où est mon erreur ?
Merci par avance
_______________
J'utilise Windows 7/Notepad++ pour le code/ WAMP(serveru) / Chrome comme navigateur
je débute en PHP/MySQL en créant un site perso. Dans ce site, je suis amené à travailler avec des dates (comme dans la plupart des sites ;-) et je rencontre un pb avec ceci.
Voici le bout de mon code :
______________________________
$Vdtessai = new DateTime();
$Vdtessai->setDate(2015,08,25);
$Vdtessai->setTime(20,45);
$V_DateJ1=$Vdtessai->getTimestamp();
echo "V_DateJ1 : ".$V_DateJ1;
________________________________
Dans ce code, on voit que je force ma date au 25/08/2015 à 20h45
Or, lorsque que j'affiche ma variable, la valeur affichée est '1419540300', ce qui correspond au 25/12/2014 à 21h45.
Pouvez-vous m'expliquer ce décalage ?
Où est mon erreur ?
Merci par avance
_______________
J'utilise Windows 7/Notepad++ pour le code/ WAMP(serveru) / Chrome comme navigateur
A voir également:
- PB dans la gestion des dates
- Nombre de jours entre deux dates excel - Guide
- Logiciel gestion locative gratuit excel - Télécharger - Comptabilité & Facturation
- Logiciel gestion photo gratuit - Guide
- Gestion des fichiers - Télécharger - Gestion de fichiers
- Gestion autorisation application android - Guide
4 réponses
Bonjour
08, c'est très mal. En PHP, un nombre qui commence par 0 est supposé être en octal. Donc pas de chiffre 8. Gros défaut de PHP, il s'arrête au premier 8 ou 9 rencontré et ne s'occupe pas du reste, sans signaler d'erreur.
Bref, ton 2015/08/25 est assimilé à 2015/0/25 qui est lui-même assimilé (par setDate) à 2014/12/25 (1 mois avant le 2015/1/25, normal, non ?)
Enlève le 0 avant le 8, tu verras.
08, c'est très mal. En PHP, un nombre qui commence par 0 est supposé être en octal. Donc pas de chiffre 8. Gros défaut de PHP, il s'arrête au premier 8 ou 9 rencontré et ne s'occupe pas du reste, sans signaler d'erreur.
Bref, ton 2015/08/25 est assimilé à 2015/0/25 qui est lui-même assimilé (par setDate) à 2014/12/25 (1 mois avant le 2015/1/25, normal, non ?)
Enlève le 0 avant le 8, tu verras.
Salut,
Le problème vient de la façon dont tu écris les entiers : en commençant ton nombre avec un 0, tu utilises la notation octale (https://www.php.net/manual/fr/language.types.integer.php
Bonne journée
Le problème vient de la façon dont tu écris les entiers : en commençant ton nombre avec un 0, tu utilises la notation octale (https://www.php.net/manual/fr/language.types.integer.php
$Vdtessai->setDate(2015, 8, 25); // retourne la bonne date
Bonne journée
Super, ça marche ! Merci beaucoup
Par contre au niveau de l'heure, il m'indique 22:45 au lieu de 20:45.
Y a-t-il un pb avec les fuseaux horaires ?
Merci
--
Par contre au niveau de l'heure, il m'indique 22:45 au lieu de 20:45.
Y a-t-il un pb avec les fuseaux horaires ?
Merci
--
Probablement un problème de fuseau horaire en effet. As-tu initialisé le fuseau horaire avec setTimezone ? Et si tu manipules aussi ton timestamp au niveau de mysql, il y a probablement également quelque chose à configurer, mais je ne connais pas par cœur, il faudrait lire la doc.