Je suis en train de convertir une date aaaa-mm-jj jj-mm-aaaa (mais pas dans SQL); cependant, je ne sais pas comment la date fonction nécessite un timestamp, et je ne peux pas obtenir un timestamp à partir de cette chaîne.
Comment est-ce possible?
Je suis en train de convertir une date aaaa-mm-jj jj-mm-aaaa (mais pas dans SQL); cependant, je ne sais pas comment la date fonction nécessite un timestamp, et je ne peux pas obtenir un timestamp à partir de cette chaîne.
Comment est-ce possible?
Utiliser strtotime()
et date()
:
$originalDate = "2010-03-21";
$newDate = date("d-m-Y", strtotime($originalDate));
(voir la fonction strtotime et date de docs sur le PHP du site).
Si vous voulez éviter strtotime (si par exemple la fonction strtotime n'est pas en mesure d'analyser votre entrée), vous pouvez utiliser
$myDateTime = DateTime::createFromFormat('Y-m-d', $dateString);
$newDateString = $myDateTime->format('d-m-Y');
ou, de manière équivalente:
$newDateString = date_format(date_create_from_format('Y-m-d', $dateString), 'd-m-Y'));
Vous êtes le premier de lui donner le format $dateString est dans. Puis vous indiquez le format que vous voulez $newDateString.
Ou si la source, le format est toujours "Y-m-d" (aaaa-mm-jj), alors il suffit d'utiliser DateTime:
<?php
$source = '2012-07-31';
$date = new DateTime($source);
echo $date->format('d.m.Y'); // 31.07.2012
echo $date->format('d-m-Y'); // 31-07-2012
?>
$timestamp = strtotime(your date variable);
$new_date = date('d-m-Y', $timestamp);
Pour plus d':
http://php.net/manual/en/function.strtotime.php
Ou encore plus court:
$new_date = date('d-m-Y', strtotime(your date variable));
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.