|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre régulier
![]() Inscription : janvier 2010 Messages : 265 ![]() |
Bonjour a tous
je travaille depuis un certain temps a résoudre ce sujet , j'aimerais convertir une $variable donnée $date_depart en date UTC et aussi en fonction d'une variable $Timezone. la variable $Timezone peut contenir 5 differents Timezone voici ou j'en suis rendu et merci pour votre aide Code :
__________________
Ils ne savaient pas que c'était impossible, alors ils l'ont fait! Mark Twain. |
||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 691 ![]() |
Salut
On ne sait pas d'où vient $date_depart, comment il a été créé/instancié, c'est pourtant l'élément (un Objet DateTime) le plus important. Un exemple en partant de ta date, qui elle correspond à un timeZone (America/Edmonton) : Code :
14/11/2010 15:30 -07:00 America/Edmonton 14/11/2010 22:30 +00:00 UTC 14/11/2010 23:30 +01:00 Europe/Paris 15/11/2010 02:30 +04:00 Indian/Reunion 14/11/2010 15:30 -07:00 America/Edmonton Donc ici on a qu'un seul Objet DateTime, et à chaque fois on change de fuseau horaire. Il faut qu'au départ le timeZone corresponde bien à la date/heure, sinon tout sera faussé.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
||
|
|
20
|
|
|
#3 |
![]() ![]() Développeur Web Inscription : décembre 2006 Messages : 2 335 ![]() |
Cependant il faudrait ajouter que si le time zone n'est pas précisé lors de l'instanciation de l'objet DateTime celui définit dans le php.ini est utilisé.
__________________
Développeur | Zend Certified Engineer Étapes Pour mieux se servir du forum: 1. Commencez par lire les cours et tutoriels ; 2. Faites une recherche; 3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles; Nix>_Rien n'est plus pratique que la théorie |
|
|
10
|
|
|
#4 | |
|
Membre régulier
![]() Inscription : janvier 2010 Messages : 265 ![]() |
merci RunCodePhp,
je ne connaissais pas encore: $date->setTimezone(new DateTimeZone($timeZone)); qui est beaucoup plus pratique et en une seule ligne en + mais j<ai encore de la difficulté a faire accepter ma variable $date_depart Citation:
$date_depart provient de 5 champs SELECT dans un formulaire que l'utilisateur a entrer pour choisir le moment du depart pourquoi 5 champs select ? Je n'ai pas beaucoup le choix, puisque il doit choisir le jour du depart le mois du depart, l'heure du depart ainsi que le champ minute Select jour contient: 1 a 31 (donne la variable $jour_depart) select mois contient: 1 a12 (donne la variable $mois_depart) select annee: 2010-2011 (donne la variable $annee_depart) heure contient: 1 a 23 et la derniere contient 0 (donne la variable $heure_dep) minute contient: 15 30 45 00 (donne la variable $minute_depart ce que je réunis comme ceci $date_depart = $annee_depart . "-" . $mois_depart . "-" . $jour_depart . "" . $heure_dep . ":" . $minute_depart; cependant , SetTimezone ne reconnait pas cette variable $ date_depart
__________________
Ils ne savaient pas que c'était impossible, alors ils l'ont fait! Mark Twain. |
|
|
|
00
|
|
|
#5 | |||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 691 ![]() |
Je t'ai mis 5 simples exemples de code, et il faut juste adapter un peu.
Aussi, réfère toi à la Doc Php. La classe DateTime La classe DateTimeZone Code :
Citation:
Le format standard est le suivant : 2010-11-14 15:30:45 Va te falloir corriger ça. D'ailleurs, je ne comprends pas pourquoi tu as créer des champs pour séparer la date de départ. Mettre cette date dans un seul champ DATETIME est pourtant bien plus simple, car MySQL offre quasi toutes les fonctions sur les date pour pouvoir obtenir ce qu'on veut (uniquement le jour, le mois, l'année, etc ...) si le cas se présente. La doc MySQL pour les divers fonctions de date Y compris Php aussi, ce qui offre tout l'embarras du choix. Tu te complique la vie à mon sens.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|||
|
|
10
|
|
|
#6 |
|
Membre régulier
![]() Inscription : janvier 2010 Messages : 265 ![]() |
Merci Runcode Php pour tes exemples
c'est maintenant tout adapté !
__________________
Ils ne savaient pas que c'était impossible, alors ils l'ont fait! Mark Twain. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com