9
votes

Comment puis-je formater les horodatages avec le caractère `t` intégré?

J'ai besoin de formater un horodatage au format ISO 8601 (par exemple 2001-10-26T21: 32: 52 ). Lorsque j'utilise la date date () de la fonction PHP, il remplace t avec le fuseau horaire (car il est censé faire).

La commande que j'utilise est : xxx

Ceci produit: 10-02-13est10: 21: 03

Comment puis-je l'obtenir pour insérer un t et ne pas remplacer par est ?


0 commentaires

4 Réponses :


21
votes

Votre format doit être: "C"

Format Descriptions                        Example
c      ISO 8601 date (added in PHP 5)   2004-02-12T15:19:21+00:00


3 commentaires

Si vous utilisez DateTime , alors $ date-> format (DateTime :: atom) est ce que vous voulez.


En outre, vous pouvez simplement utiliser la date ("C") , sous la date , date () par défaut sur TIME () , si le deuxième ARC n'est pas 't fourni.


Le format "Atom" est maintenant dédié (depuis PHP 7.2, je pense) mais une solution avec l'échappement t @Matteo suggérée fonctionne bien.



1
votes

Vous pouvez formater les pièces de date et d'heure séparément, puis concaténez les deux parties avec "T" : xxx


0 commentaires

11
votes

Si vous avez besoin d'insérer un caractère qui ne doit pas être interprété, suivez-le avec une barre oblique inverse:

$time = date("y-m-d\TH:i:s", time());


0 commentaires

1
votes

date_atom est fourni pour ce format: xxx

sortie: xxx


0 commentaires