2010-05-29 7 views
0

-je avoir un format de date comme ceci:à obtenir le format de date souhaitée dans la boucle

$date1 = "Sun May 09 20:07:50 +0000 2010"; 

et je dois le convertir en: 09-05-2010

Je me fais l'écho avec la date d'écho ("dmY", strtotime ($ date1));

Lorsque j'imprime cette façon individuelle, il donne bon résultat, mais je l'utilise en boucle il me donne des résultats comme: 31-12-1969

La boucle j'utilise est:

foreach($userinfo as $k=>$v) 
{ 
if($k == 'test') 
{ 
    foreach($v as $k1=>$v1) 
    { 
     echo $v1."<br>"; 
     //echo strtotime($v1)."<br>"; 
     //echo $date = date("d-m-Y", strtotime($v1)); 
    } 
} 
} 

Les gars quand j'écho $ v1 il me donne: Dim Mai 09 20:07:50 +0000 2010 Aussi quand j'écho strtotime ($ v1); ça donne un blanc. Cependant, chose amusante, j'obtiens cette conversion parfaitement en boucle 1D.

Pouvez-vous nous aider, s'il vous plaît?

+0

http://php.net/date - quel deuxième paramètre doit être? –

+0

echo $ v1 à chaque fois pour voir sa valeur réelle. –

Répondre

1
echo date("d-m-Y", strtotime($date1)) ; 
+0

question a changé, pouvez-vous nous montrer la boucle? – mononym

+0

vous devez utiliser strtotime() comme la fonction [date()] (http://php.net/manual/fr/function.date.php) attend un horodatage comme son deuxième paramètre Je viens de courir votre boucle et cela fonctionne bien, c'est évidemment votre entrée, au lieu de faire écho à la date, echo $ v1 et donnez-nous vos valeurs – mononym

+0

merci les gars pour votre soutien, je pourrais résoudre le problème avec votre aide précieuse précieuse. Merci encore!!!! – Rishi2686

0

Est-ce que $date1 = "Sun May 09 20:07:50 +0000 2010"; est à l'extérieur de la boucle? Si c'est le cas, assurez-vous de ne le changer qu'avec strtotime et date une seule fois.

+0

Il est dans la boucle, la date de chaque utilisateur devrait convertir dans ce format. – Rishi2686

+0

merci les gars pour votre soutien, je pourrais résoudre le problème avec votre aide rapide précieuse. Merci encore!!!! – Rishi2686

0

D'abord, vous pouvez simplifiez en écrivant:

foreach ($userinfo['test'] as $k => $v) { 
    foreach ($v as $k1 => $v1) { 
     echo date("d-m-Y", strtotime($v1)); 
    } 
} 

La deuxième strtotime() L'argument n'est pas utile pour vous, il est dans le cas où vous utilisez la fonction pour effectuer des opérations sur horodatages, comme:

echo strtotime("-1 day", mktime(...)); 

Il suffit de faire print_r($userinfo['test']) pour voir ce qui est vraiment à l'intérieur

+0

merci les gars pour votre soutien, je pourrais résoudre le problème avec votre aide rapide précieuse. Merci encore!!!! – Rishi2686