我在会话中存储了一个时间戳(1299446702)。
如何在PHP中将其转换为可读的日期/时间?我试了一次又一次,都没有结果。
我在会话中存储了一个时间戳(1299446702)。
如何在PHP中将其转换为可读的日期/时间?我试了一次又一次,都没有结果。
当前回答
试一试。
<?php
$timestamp=1333342365;
echo gmdate("Y-m-d\TH:i:s\Z", $timestamp);
?>
其他回答
$timestamp = 1465298940;
$datetimeFormat = 'Y-m-d H:i:s';
$date = new \DateTime();
// If you must have use time zones
// $date = new \DateTime('now', new \DateTimeZone('Europe/Helsinki'));
$date->setTimestamp($timestamp);
echo $date->format($datetimeFormat);
结果:2016-06-07 14:29:00
其他时区:
非洲 美国 南极洲 北极 亚洲 大西洋 澳大利亚 欧洲 印度 太平洋 其他人
试一试。
<?php
$timestamp=1333342365;
echo gmdate("Y-m-d\TH:i:s\Z", $timestamp);
?>
如果有人想直接将时间戳转换为DateTime对象,有一个简单的一行程序:
$timestamp = 1299446702;
$date = DateTime::createFromFormat('U', $timestamp);
在@sromero注释之后,timezone参数(DateTime::createFromFormat()中的第3个参数)在传递unix时间戳时被忽略,因此下面的代码是不必要的。
$date = DateTime::createFromFormat('U', $timestamp, new DateTimeZone('UTC'); // not needed, 3rd parameter is ignored
您可以查看PHP手册中的DateTime::createFromFormat以获得更多信息和选项。
$epoch = 1483228800;
$dt = new DateTime("@$epoch"); // convert UNIX timestamp to PHP DateTime
echo $dt->format('Y-m-d H:i:s'); // output = 2017-01-01 00:00:00
在上面的例子中,“r”和“Y-m-d H:i:s”是PHP日期格式,其他例子:
格式输出
r ----- Wed, 15 Mar 2017 12:00:00 +0100 (RFC 2822 date)
c ----- 2017-03-15T12:00:00+01:00 (ISO 8601 date)
M/d/Y ----- Mar/15/2017
d-m-Y ----- 15-03-2017
Y-m-d H:i:s ----- 2017-03-15 12:00:00
使用PHP的date()函数。
例子:
echo date('m/d/Y', 1299446702);