我有一个Unix时间戳,我想将其转换为常规时间(String)。我的Unix时间戳:
1385767232382
我的脚本:
$date = date_create(date('c', "1385767232"), new DateTimeZone('PST'));
echo date_format($date, 'Y-m-d H:i');
我从Unix时间戳中删除了最后三位,因为我得到了一个非常奇怪的时间,所以我通过删除最后三位将其从毫秒改为秒。
脚本返回的日期:
2013-11-29 23:20
返回日期:
2013-11-29 15:20
我试过其他几次约会,结果都一样。只是时间不好,其余的都很好。
提前谢谢。
编辑:03:20->15:20
时区不正确,因为当第一个参数指定时区时,date_create
的第二个参数会被忽略(请参阅文档中的注释)。在您的情况下,使用的格式确实指定了时区,并且由于date
不明确接受时区,因此时区是默认的系统时区,而不是PST。
这是正确的方法:
$d = date_create('@1385767232');
date_timezone_set($d, new DateTimeZone('PST'));
echo $d->format('Y m d H:i:s'); // 2013 11 29 15:20:32
试试这个
echo date("Y-m-d",strtotime(1385767232382));
您可以执行以下操作:
echo(date("Y-m-d H:i", "1385767232"));
为什么要做额外的工作,比如删除3个digi。。?
下面给出的实际值是正确的。。$date=date_create(日期('c',"1385767232"),新日期时区('PST'));echo date_format($date,'Y-m-d H:i');
你可能在分析时区时遇到了麻烦,请确保这一点。