8
votes

Date de conversion à ce format

J'ai une date dans ce format: xxx

J'ai besoin de l'obtenir dans ce format: xxx

vérifier ce lien :

http: // lucene .apache.org / SOLR / API / ORG / APACHE / SOLR / SCHEMA / DATEFIELD.HTML

Le lien ci-dessus est comme dont j'ai besoin de la date.

i J'utilise PHP maintenant, donc cela doit être avec PHP. Comment puis-je convertir ces dates le moyen le plus simple?

merci


0 commentaires

5 Réponses :


2
votes

Vous pouvez utiliser le DateTime Classe

$dateTime = new DateTime();
$dateTime.setDate(24, 12, 2010);

$output = $dateTime.format(DateTime::W3C);

// Output now is your date in W3C format.


3 commentaires

Malgré cela ne fonctionne pas avec Solr. La sortie serait "2012-11-28T17: 21: 11 + 0100" qui est incorrecte.


Aussi . La notation n'existe pas dans PHP.


@Christian en fait, il est utilisé pour la concaténation. : P



13
votes

C'est une date de format ISO8601; Ce qui suit est ce que vous voulez. XXX


2 commentaires

Je ne suggérerais pas de cette façon parce que c'est sujette d'erreur. Mieux fournir le format d'entrée vous-même et utilisez DateTime :: W3C pour le format de sortie.


Si le format d'entrée est fixe et prévisible, il est fiable (par exemple, une DB). Si le format d'entrée provient de l'utilisateur, il est toujours nécessaire de la répéter.



0
votes

Utilisez la date (chaîne $ Format [ int $ TIMESTAMP]) Fonction de PHP! En second paramètre, utilisez http://php.net/manual/fr/function.strtotime. PHP pour obtenir l'horodatage des chaînes


0 commentaires

0
votes
$date = strtotime('24-12-2010');
$new_date = gmDate("Y-m-d\TH:i:s.z\Z",$date); 

0 commentaires

8
votes

Vous pouvez faire quelque chose comme ça: xxx pré>

la solution mentionnée avec: p> xxx pré>

correspond à des cordes de retour comme: p>

2012-11-28T17:21:11+0100


1 commentaires

z est "le jour de l'année (à partir de 0) 0 à 365" - est-ce que ce format est correct?