2009-11-17 8 views
0

Je suis en train de prendre horodatages dans ce format:Regex pour horodatages en php

2009-11-16T14: 05: 22-08: 00

et les faire se transformer en quelque chose comme

2009-11-16

Comment supprimer tout après le "T"?

Répondre

1

Vous pouvez utiliser explode():

list($date) = explode('T', '2009-11-16T14:05:22-08:00'); 

$date serait maintenant '2009-11-16'.

3

En supposant qu'ils sont tous dans ce format, le plus simple est:

$result = substr($timestamp,0,10); 

Où horodatage est votre horodatage de départ et le résultat est votre horodatage modifié.

+0

+1 pour la simplicité –

+0

Je considère que, mais ne sera pas un problème, il si nous étions dans un mois avec un chiffre ou dans les premiers jours de ce mois? Ne serait-ce pas foirer? –

+0

mois à un chiffre et les jours auront probablement des zéros, comme le '05' dans '14: 05: 22 'dans votre exemple. –

6

Peut-être que cela fonctionne:

date('Y-m-d', strtotime('2009-11-16T14:05:22-08:00')); 
1

Depuis l'OP marqué comme il question php et regex, je vais lui donner un php et regex réponse:

$result = preg_replace("/T.*/", "", $timestamp); 
+0

+1 pour coller à la question –