J'ai une chaîne "3/6/2019 3:40:19" que je veux convertir en un type DateTime Laravel / Eloquent. p>
Y a-t-il un moyen de le faire sans récupérer toutes les petites pièces de la chaîne et reconstruire à nouveau au format souhaité? P>
3 Réponses :
Vous pouvez utiliser du carbone, qui fait déjà partie de toute installation Laravel.
http : //carbon.nesbot.com/docs/#api-geters p>
Si vous avez une chaîne DateTime et que vous souhaitez l'utiliser avec un alors vous pouvez faire quelque chose comme: p> Carbon code> instance peut faire: p>
Si les cordes qu'il reçoit est "3/6/2019 3:40:19" Vous êtes un peu tromper en le réglant à "2016-11-01 15:04:19"
@RiccardOcédrola Ouais. Carbon's CreateFromFormat Code> aidera ici. J'ai édité que dans.
Utiliser des données inattendues au carbone trouvées. Données inattendues trouvées. Données inattendues trouvées. Données de fin -
@zwitterion Votre format n'est pas Y-M-D H: M: S code>. J'ai donné le format correct (et le code exact qui fonctionne pour votre chaîne de date / heure spécifique) dans la réponse.
Utilisez le php Et si vous souhaitez modifier le format, vous pouvez utiliser la date Cela vous permet d'économiser les problèmes d'installation de nouvelles bibliothèques et vous pouvez modifier le format de date de n'importe quelle manière que vous souhaitez à la fonction de date p> strtotime () code> fonction.
strtotime ($ string) code> p>
() code> fonction.
Date ('Y-M-D H: I: S', Strtotime ($ string)) Code> P>
Vous devez mettre h: i: s code> au lieu de
h: i: s code>, sinon
strtotime () code> ne pars pas le "PM"
Ahh oui merci de l'avoir pointé sur @RiccardOcédrola, je l'ai manqué
Vous avez upéré de toute façon, vous répondez est correct pour moi :)
Strtotime Code> MAI B> Générer la mauvaise date, car 3/6 de l'OP pourrait être le 6 mars ou le 3 juin, selon le pays. En ce qui concerne les "nouvelles bibliothèques", Laravel inclut le carbone comme composant de base.
Je suis d'accord, il est toujours plus sûr de définir le format de la date à laquelle vous passez en tant que chaîne, de sorte que l'utilisation de datetime :: CreatefromFormat aussi
carbone :: CreatefromFormat code> C'est toujours plus sûr , Mais je pense qu'il pouvait facilement le comprendre en regardant les docs, sans que personne ne lui donnent un "code prêt"
Et oui les gars ce que vous dites est vrai. Je crois que je prends ces choses pour acquis maintenant que j'utilise des choses comme du carbone et de tels.
une solution d'une ligne:
Si vous souhaitez utiliser le carbone de Laravel, vous pouvez jeter un coup d'œil sur le API Docs :
J'ai trouvé un exemple similaire à votre situation qui analyse également le 'pm' p> date ('ymd h: i: s', strtotime ('3/6/2019 3:40:19'))); code> p >
Pouvez-vous partager plus de détails? Dans quelles parties de votre code voulez-vous exécuter une telle transformation?
Est
3/6 code> le 6 mars ou le 3 juin?