Ma requête renvoie une chaîne de date
"13 Jul, 08:07AM"
Ensuite, je l'explose
\Carbon\Carbon::parse($datetimes[0])->format('d M, H:mA')
Puis j'obtiens quand je DD
XXX
Lorsque j'utilise Carbon pour formater la chaîne
"07/13/2020 8:00 AM"
Il renvoie
$datetimes = explode(' - ', $request->datetimes);
Pourquoi cela se produit-il?
3 Réponses :
Parce qu'il convertit la date du format américain MM / JJ / AAAA au lieu du JJ / MM / AAAA courant
C'est pourquoi lors de la gestion des formats de date, il est plus sûr d'utiliser le format de date mysql AAAA / MM / JJ
c'est ainsi que strtotime fonctionne en php, si le jour est un mois valide, il utilisera le format MM / JJ / AAAA.
une astuce simple consiste à remplacer le /
avec -
pour le forcer.
\Carbon\Carbon::parse(str_replace('/', '-', $datetimes[0]))
Hey, merci! Quand je lance: dd (\ Carbon \ Carbon :: parse (str_replace ('/', '-', $ datetimes [0])) -> format ('d M, H: m A')); Il renvoie: Impossible d'analyser '07 -13-2020 8:00 AM ': DateTime :: __ construct (): Impossible d'analyser la chaîne de temps (13/07/2020 8h00) à la position 0 (0): caractère inattendu
J'utilisais "m" pour le mois au lieu de "i" pour les minutes ...
Haha. Je dois aimer ceux-là.
Pouvez-vous s'il vous plaît essayer
07/13/2020 8:07AM
Sortie
Route::get('convert',function(){ $myString = "07/13/2020 8:00 AM - 07/17/2020 5:00 PM"; $dateTimes = explode(' - ', $myString); $paseDateTime = \Carbon\Carbon::createFromFormat('m/d/Y g:iA',$dateTimes[0])->addMinutes(7)->format('m/d/Y g:iA'); return $paseDateTime; });
Avez-vous essayé d'utiliser Carbon :: createFromFormat ('' m / d / Y g: i A ", $ datetimes [0])?
Quelle est l'attente de production ? identique à ce 13/07/2020 08h07