此代码:
$timestamp = 2016-10-06T09:50:54.000Z;
如何将时间戳分离或转换为日期和时间?例子:
TimeStamp 2016-10-06T09:50:54.000Z Date 2016-10-06 Jam(GMT +7) 04:55:45
请帮忙解决这个问题。谢谢
5ssjco0h1#
看看这个简短的例子:
<?php $datetime = new Datetime('2016-10-06T09:50:54.000Z'); var_dump($datetime->format('Y-m-d H:i:s'));
输出明显是: string(19) "2016-10-06 09:50:54" 使用不同的格式字符串,您可以将日期时间对象转换为所需的任何表示形式。 'Y-m-d' 例如,将以国际格式给出日期。请看一下优秀的文档:http://php.net/manual/en/class.datetime.php
string(19) "2016-10-06 09:50:54"
'Y-m-d'
4szc88ey2#
$d = new DateTime('2016-10-06T09:50:54.000Z'); echo $d->format('Y-m-d\TH:i:s.u'); // 2016-10-06T09:50:54.000000 echo $d->format('Y-m-d'); // 2016-10-06 // convert to GMT+7 timezone $d->setTimezone(new DateTimeZone('GMT+7')); echo $d->format('h:i:s'); // 04:50:54
vaqhlq813#
<?php $timestamp = "2016-10-06T09:50:54.000Z"; $datetime = new Datetime('2016-10-06T09:50:54.000Z'); echo "Date".$datetime->format('Y-m-d')."<br>"; echo "Jam".$datetime->format('H:i:s'); ?>
plupiseo4#
不太神秘:
<?php $timestamp = '2016-10-06T09:50:54.000Z'; $dt = new DateTime($timestamp); var_dump($dt); $dt->setTimezone(new DateTimeZone('Asia/Jakarta')); var_dump($dt);
object(DateTime)#1 (3) { ["date"]=> string(26) "2016-10-06 09:50:54.000000" ["timezone_type"]=> int(2) ["timezone"]=> string(1) "Z" } object(DateTime)#1 (3) { ["date"]=> string(26) "2016-10-06 16:50:54.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(12) "Asia/Jakarta" }
与字符串不同的是,为正确的日期指定格式很简单。我不知道什么是时区堵塞,但我建议你指定一个城市,这样你就可以考虑到夏令时(我用过) Asia/Jakarta 在我的示例代码中,可以在“支持的时区列表”中找到完整的列表。仅仅依靠utc偏移量,比如 +7 可能会使您的代码在夏季不可靠。
Asia/Jakarta
+7
4条答案
按热度按时间5ssjco0h1#
看看这个简短的例子:
输出明显是:
string(19) "2016-10-06 09:50:54"
使用不同的格式字符串,您可以将日期时间对象转换为所需的任何表示形式。'Y-m-d'
例如,将以国际格式给出日期。请看一下优秀的文档:http://php.net/manual/en/class.datetime.php
4szc88ey2#
vaqhlq813#
plupiseo4#
不太神秘:
与字符串不同的是,为正确的日期指定格式很简单。
我不知道什么是时区堵塞,但我建议你指定一个城市,这样你就可以考虑到夏令时(我用过)
Asia/Jakarta
在我的示例代码中,可以在“支持的时区列表”中找到完整的列表。仅仅依靠utc偏移量,比如+7
可能会使您的代码在夏季不可靠。