2010-08-17 2 views
3

J'ai ceci:Comment formater une date en PHP sans deux points dans le décalage?

date('c')

qui formate comme ceci:

2010-08-17T08:55:14-07:00

mais je besoin d'un moyen de ne pas avoir les deux points dans le décalage, alors peut-être ressemblerait à ceci:

2010-08-17T08:55:14-0700

Quelle est la solution pour cela? J'espère un format légèrement différent, plutôt que d'obtenir la chaîne et de remplacer le dernier deux-points (en utilisant reg-ex ou quelque chose).

Répondre

7

Reconstruisez des parties constitutives:

date('Y-m-d\TH:i:sO') 

Voir la documentation date pour les différentes chaînes de format.

Celui qui vous intéresse est O:

Différence à l'heure de Greenwich (GMT) en heures (Exemple: +0200)

Au lieu de P:

Différence par rapport à l'heure de Greenwich (GMT) avec les deux-points entre les heures et les minutes (ajouté en PHP 5.1.3) (Exemple: +02: 00)

10

Fait intéressant, date(DATE_ISO8601) ne vous donne pas le côlon.

mais date('c') fait, et les états manuels (pour 'c'):

date ISO 8601 (ajouté en PHP 5)

+4

C'est la beauté de PHP :) –

1

Jetez un oeil à la fonction de PHP date et essayer de trouver d'autres options.

date('Y-m-d\TH:i:sO'); //2010-08-17T08:55:14-0700 
Questions connexes