J'essaie de convertir une date de yyyy-mm-dd
à dd-mm-yyyy
(mais pas en SQL); cependant, je ne sais pas comment la fonction date nécessite un horodatage et je ne peux pas obtenir d'horodatage de cette chaîne.
Comment est-ce possible?
php
date
formatting
matthy
la source
la source
Réponses:
Utiliser
strtotime()
etdate()
:(Voir la documentation strtotime et date sur le site PHP.)
Notez qu'il s'agissait d'une solution rapide à la question d'origine. Pour des conversions plus étendues, vous devriez vraiment utiliser la
DateTime
classe pour analyser et formater :-)la source
Si vous souhaitez éviter la conversion strtotime (par exemple, strtotime ne peut pas analyser votre entrée), vous pouvez utiliser,
Ou équivalent:
Vous lui donnez d'abord le format $ dateString. Ensuite, vous lui indiquez le format dans lequel $ newDateString doit être.
Ou si le format source est toujours "Ymd" (aaaa-mm-jj), utilisez simplement DateTime :
la source
DateTime::createFromFormat()
- c'est vraiment plus utile questrtotime()
strtotime()
utile pour convertir le vrai format (Ymd) en d'autres formats, maisDateTime::createFromFormat()
est universel. C'est commeSTR_TO_DATE
dans MySQLstrtotime()
Utilisation:
Sans les frais généraux de conversion de date, je ne suis pas sûr que cela importera beaucoup.
la source
Ce code fonctionne pour chaque format de date.
Vous pouvez changer l'ordre des variables de remplacement telles que $ 3- $ 1- $ 2 en raison de votre ancien format de date.
la source
Pour plus d'informations, consultez la documentation de
strtotime
.Ou encore plus court:
la source
Aussi une autre possibilité obscure:
Je ne sais pas si je l'utiliserais mais quand même :)
la source
La réponse la plus votée est en fait incorrecte!Le manuel PHP strtotime indique ici que "la fonction s'attend à recevoir une chaîne contenant un format de date anglais".
Ce que cela signifie en fait, c'est qu'il attend un format de date américain américain, tel que "mdY" ou "m / d / Y".Cela signifie qu'une date fournie comme "Ymd" peut être mal interprétée par
strtotime
. Vous devez fournir la date dans le format attendu.J'ai écrit une petite fonction pour renvoyer des dates dans plusieurs formats. Utilisez et modifiez à volonté.
Si quelqu'un transforme cela en classe, je serais heureux que cela soit partagé.la source
Il existe deux façons de mettre en œuvre ceci:
1.
2.
la source
Vous pouvez essayer la
strftime()
fonction. Exemple simple:strftime($time, '%d %m %Y');
la source
Utilisez cette fonction pour convertir de n'importe quel format en n'importe quel format
la source
Ci-dessous, le code PHP pour générer la date de demain en utilisant
mktime()
et changer son format au format jj / mm / aaaa , puis l'imprimer en utilisantecho
.la source
la source
Vous pouvez changer le format en utilisant la date () et le strtotime ().
$ date = '9/18/2019';
date d'écho ('dm-y', strtotime ($ date));
Résultat:
18-09-19
Nous pouvons changer le format en changeant le (dmy).
la source
Pour cette conversion spécifique, nous pouvons également utiliser une chaîne de format.
Évidemment, cela ne fonctionnera pas pour de nombreuses autres conversions de format de date, mais comme nous ne faisons que réorganiser les sous-chaînes dans ce cas, c'est une autre façon possible de le faire.
la source
strtotime()
. :-)la source
Utilisation simple
strtotime()
etdate()
:Avec le temps
la source
Utiliser
date_create
etdate_format
Essaye ça.
la source