【问题标题】:problem in getting desired date format in loop在循环中获取所需日期格式的问题
【发布时间】:2010-05-29 06:22:06
【问题描述】:

我有这样的日期格式:

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

我必须将其转换为:09-05-2010

我用 echo date("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 循环中完美地完成了这种转换。

你能帮忙吗?

【问题讨论】:

  • php.net/date - 第二个参数必须是什么?
  • 每次回显 $v1 以查看它的实际价值。

标签: php date


【解决方案1】:
echo date("d-m-Y", strtotime($date1)) ;

【讨论】:

  • 你必须使用 strtotime() 作为date() 函数需要一个时间戳作为它的第二个参数$v1 并告诉我们你的价值观
  • 感谢大家的支持,我可以通过您宝贵的快速帮助解决问题。再次感谢!!!!
【解决方案2】:

$date1 = "Sun May 09 20:07:50 +0000 2010"; 在循环之外吗?如果是,请确保只使用 strtotimedate 更改一次。

【讨论】:

  • 它在循环内,每个用户的日期都应该转换成那个格式。
  • 感谢大家的支持,我可以通过您宝贵的快速帮助解决问题。再次感谢!!!!
【解决方案3】:

首先,您可以通过编写来简化:

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']) 即可查看里面的真实内容。

【讨论】:

  • 感谢你们的支持,我可以通过你们宝贵的快速帮助解决问题。再次感谢!!!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-20
相关资源
最近更新 更多