我希望将EPOCH时间戳(如1372190184)转换为格式2014-06-25T14:38:52.359Z。
我尝试过以下代码,但我得到的格式与我需要的格式不同。
$start = new DateTime(date('r', '1372190184'));
$startDateText = $start->format('Y-m-dTH:i:sZ');
var_dump($startDateText);
exit();
但我得到输出为字符串(30)" 2013-06-25GMT + 020021:56:247200"这与我的预期不同。
答案 0 :(得分:2)
您忘记了格式中的反斜杠,以及转储中startDateText之前的美元符号:
$start = new DateTime(date('r', '1372190184'));
$startDateText = $start->format('Y-m-d\TH:i:s\Z');
var_dump($startDateText);
此外,如果您要查找微秒,请添加u
格式字符。
答案 1 :(得分:0)
您应该将 date_default_timezone_set 设置为UTC以获得所需的输出。格式如您所愿。并确保以格式转义特殊字符。
date_default_timezone_set('UTC');
$epoch = 1340000000;
echo gmdate('r', $epoch);