将时间戳转换为可读的日期/时间PHP

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

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

756423 次浏览

Strtotime将日期字符串转换为时间戳。你想做相反的事情,也就是日期。典型的mysql日期格式是date('Y-m-d H:i:s');检查手册页的其他字母代表什么。

如果你有一个想要使用的时间戳(显然你有),它是date()的第二个参数。

使用PHP的date()函数。

例子:

echo date('m/d/Y', 1299446702);

如果你正在使用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

我只是在Rocket的答案中添加了H: I:s,以获得时间和日期。

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

输出:03/06/2011 16:25:02

试一试。

<?php
$timestamp=1333342365;
echo gmdate("Y-m-d\TH:i:s\Z", $timestamp);
?>

你可以试试这个:

   $mytimestamp = 1465298940;


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

输出:

06-07-2016

$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

其他时区:

< p > echo date("l M j, Y",$res1['timep']); < br > 这对于将unix时间戳转换为可读的日期和日期非常有用。例子: 2016年7月7日星期四

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

echo date(DATE_RFC822, 1368496604);
echo 'Le '.date('d/m/Y', 1234567890).' &agrave; '.date('H:i:s', 1234567890);

如果有人想直接将时间戳转换为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

试试这个:

echo date('m/d/Y H:i:s', 1541843467);
I have used this:
<?php echo date('d/m/Y H:i a', $row['start_time']); ?>