将带有时区的时间戳转换为可读日期

时间:2015-07-09 06:34:34

标签: php

我想将时间戳转换为可读日期格式,时间戳为: /日期(1434434419100-0400)/ ,但不确定如何与时区问题一起处理。

date('Y-m-d H:i:s', substr($editDate, -20, -7))

由于

3 个答案:

答案 0 :(得分:2)

时间戳是指Unix纪元时间吗?

在处理时间和日期时,我总是在http://www.epochconverter.com找到有用的东西。

对于PHP,请参阅Programming > Epoch in PHP

使用date功能。

$epoch = 1340000000;
echo date('r', $epoch); // output as RFC 2822 date - returns local time
echo gmdate('r', $epoch); // returns GMT/UTC time

使用DateTime

$epoch = 1344988800; 
$dt = new DateTime("@$epoch");  // convert UNIX timestamp to PHP DateTime
echo $dt->format('Y-m-d H:i:s'); // output = 2012-08-15 00:00:00 

设置时区

如果您使用的是PHP 5.1或更高版本,请使用date_default_timezone_set来设置/否决您的时区。 PHP时区处理负责夏令时(list of PHP time zones)。

您提供的值 - 1434434419100-0400 - 绝对不是标准的格式化时间戳。有关标准的概述,请参阅w3.orgwikipedia。最接近我可以发现它是一个纪元时间1434434419(即星期二,2015年6月16日06:00:19 GMT)加上100-0400。不知道100的含义,但-0400可以指出UTC−04:00

答案 1 :(得分:0)

首先按date_default_timezone_set("Europe/Helsinki");设置时区 第二次使用echo date('m/d/Y H:i:s', 1299446702); 1299446702time();

答案 2 :(得分:0)

您可以将时间戳转换为日期,如下所示。

$date = new DateTime("@".$timestamp);

要处理时区,请参阅this