проблема в получении желаемого формата даты в цикле - PullRequest
0 голосов
/ 29 мая 2010

У меня есть такой формат даты:

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

, и я должен преобразовать его в: 09-05-2010

Я повторяю это с датой эха ("d-m-Y", strtotime ($ date1));

Когда я печатаю это по отдельности, это дает правильный результат, но я использую его в цикле это дает мне результаты, такие как: 31-12-1969

Я использую цикл:

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));
    }
 }
}

Ребята, когда я повторяю $ v1, это дает мне: Sun May 09 20:07:50 +0000 2010 Также, когда я повторяю strtotime ($ v1); это дает пустое. Как ни странно, но я получаю это преобразование идеально в цикле 1D.

Можете ли вы помочь, пожалуйста?

Ответы [ 3 ]

1 голос
/ 29 мая 2010
echo date("d-m-Y", strtotime($date1)) ;
0 голосов
/ 29 мая 2010

Во-первых, вы можете упростить, написав:

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

Второй аргумент strtotime () бесполезен для вас, это в том случае, если вы используете функцию для выполнения операций с отметками времени, например:

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

Просто сделайте print_r($userinfo['test']), чтобы увидеть, что на самом деле внутри.

0 голосов
/ 29 мая 2010

$date1 = "Sun May 09 20:07:50 +0000 2010"; вне цикла? Если это так, убедитесь, что вы меняете его только с strtotime и date один раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...