Détails
Conversion d'une chaîne en Date et DateTime
Si j'ai une chaîne de caractères PHP au format "mm-dd-YYYY" (par exemple, 10-16-2003), comment puis-je la convertir correctement en une "date", puis en une "date-heure" au format "AAAA-mm-jj" ? La seule raison pour laquelle je demande à la fois Date
et DateTime
est que j'ai besoin de l'un à un endroit, et de l'autre à un autre endroit.
271
3
Utilisez
strtotime()
sur votre première date puisdate('Y-m-d' ;)
pour la reconvertir :Notez qu'il y a une différence entre l'utilisation de la barre oblique
/
et du trait d'union-
dans la fonction [strtotime()
][1]. Pour citer php.net :[1] : http://php.net/strtotime
Vous devez faire attention aux formats m/d/Y et m-d-Y. PHP considère que
/
signifie m/d/Y et-
signifie d-m-Y. Dans ce cas, je décrirais explicitement le format d'entrée :De cette façon, vous n'êtes pas aux caprices d'une certaine interprétation.
Edit : vous pouvez aussi passer une DateTimeZone au constructeur de DateTime() pour assurer la création de la date pour le fuseau horaire désiré, et non celui par défaut du serveur.