使用PHP,我希望将UNIX时间戳转换为类似于以下内容的日期字符串:2008-07-17 t9:24:17 z
如何将时间戳(如1333699439)转换为2008-07-17 t9:24:17 z ?
使用PHP,我希望将UNIX时间戳转换为类似于以下内容的日期字符串:2008-07-17 t9:24:17 z
如何将时间戳(如1333699439)转换为2008-07-17 t9:24:17 z ?
当前回答
大多数人不读评论,gmdate()在接受的答案中有问题,它以GMT返回时间,所以如果我们使用date_default_timezone_set(zone)它将不起作用,而是使用date()。
<?php
$ts = 1664706166;
$date = date('Y-m-d H:i:s', $ts);
$gmdate = gmdate('Y-m-d H:i:s', $ts);
echo "date() : $date\n";
echo "gmdate(): $gmdate\n\n";
date_default_timezone_set("Asia/Jakarta");
$date = date('Y-m-d H:i:s', $ts);
$gmdate = gmdate('Y-m-d H:i:s', $ts);
echo "date() : $date\n";
echo "gmdate(): $gmdate <- GMT\n";
/* result
date() : 2022-10-02 10:22:46
gmdate(): 2022-10-02 10:22:46
After set timezone
date() : 2022-10-02 17:22:46
gmdate(): 2022-10-02 10:22:46 <- GMT
*/
其他回答
$unixtime_to_date = date('jS F Y h:i:s A (T)', $unixtime);
这应该会起作用。
你可以像.....
$originalDate = "1585876500";
echo $newDate = date("Y-m-d h:i:sa", date($originalDate));
大多数人不读评论,gmdate()在接受的答案中有问题,它以GMT返回时间,所以如果我们使用date_default_timezone_set(zone)它将不起作用,而是使用date()。
<?php
$ts = 1664706166;
$date = date('Y-m-d H:i:s', $ts);
$gmdate = gmdate('Y-m-d H:i:s', $ts);
echo "date() : $date\n";
echo "gmdate(): $gmdate\n\n";
date_default_timezone_set("Asia/Jakarta");
$date = date('Y-m-d H:i:s', $ts);
$gmdate = gmdate('Y-m-d H:i:s', $ts);
echo "date() : $date\n";
echo "gmdate(): $gmdate <- GMT\n";
/* result
date() : 2022-10-02 10:22:46
gmdate(): 2022-10-02 10:22:46
After set timezone
date() : 2022-10-02 17:22:46
gmdate(): 2022-10-02 10:22:46 <- GMT
*/
试试gmdate吧:
<?php
$timestamp=1333699439;
echo gmdate("Y-m-d\TH:i:s\Z", $timestamp);
?>
<?php
$timestamp=1486830234542;
echo date('Y-m-d H:i:s', $timestamp/1000);
?>