我有这样的日期格式:
$date1 = "Sun May 09 20:07:50 +0000 2010";
我必须将其转换为:09-05-2010
我用echo日期回应它(“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循环中完美地获得了这种转换。
你能帮忙吗?答案 0 :(得分:1)
echo date("d-m-Y", strtotime($date1)) ;
答案 1 :(得分:0)
$date1 = "Sun May 09 20:07:50 +0000 2010";
在循环之外吗?如果是,请确保仅使用strtotime
和date
进行一次更改。
答案 2 :(得分:0)
首先,你可以通过写作来简化:
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'])
看看里面是什么。