![](/img/trans.png)
[英]Timestamp to specific format - ex: 2014-11-04T09:10:33.000Z (PHP)
[英]Why convert Timestamp '2016-10-06T09:50:54.000Z' with php
此代碼:
$timestamp = 2016-10-06T09:50:54.000Z;
如何將時間戳與時間戳分開或轉換為日期和時間?
例如:
TimeStamp 2016-10-06T09:50:54.000Z
Date 2016-10-06
Jam(GMT +7) 04:55:45
請幫助解決此問題。 謝謝
看一下這個簡短的例子:
<?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"
使用不同的格式字符串,您可以將日期時間對象轉換為所需的任何表示形式。 'Ym-d'
將以國際格式給出日期。
看看很棒的文檔: http : //php.net/manual/en/class.datetime.php
<?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');
?>
$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
沒有什么神秘之處:
<?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"
}
與字符串不同,將格式賦予適當的日期是微不足道的 。
我不知道Jam是什么時區,但是我建議您分配一個城市,以便您可以算出DST(我在示例代碼中使用了Asia/Jakarta
,完整列表可以在Supported Timezones中找到 )。 僅依靠+7
類的UTC偏移量可能會使您的代碼在夏季不可靠。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.