我在会话中存储了一个时间戳(1299446702)。

如何在PHP中将其转换为可读的日期/时间?我试了一次又一次,都没有结果。


当前回答

echo 'Le '.date('d/m/Y', 1234567890).' à '.date('H:i:s', 1234567890);

其他回答

试试这个:

echo date('m/d/Y H:i:s', 1541843467);

如果有人想直接将时间戳转换为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以获得更多信息和选项。

如果使用PHP date(),可以使用这段代码获取日期、时间、秒等。

$time = time();               // you have 1299446702 in time
$year = $time/31556926 % 12;  // to get year
$week = $time / 604800 % 52;  // to get weeks
$hour = $time / 3600 % 24;    // to get hours
$minute = $time / 60 % 60;    // to get minutes
$second = $time % 60;         // to get seconds

你可以试试这个:

   $mytimestamp = 1465298940;

   echo gmdate("m-d-Y", $mytimestamp);

输出:

The 06-07-2016

除非你需要自定义日期和时间格式,否则使用内置的日期和时间格式常量会更容易,更不容易出错,也更易于阅读:

echo date(DATE_RFC822, 1368496604);