将纪元时间转换为日期PHP

时间:2022-02-11 16:00:21

I'm using an API right now and it provides an epochTime. I've tried everything to convert this epochtime to date, but it doesn't seem to be working including $epoch_time / 1000 and then using the date() function to convert it.

我现在正在使用API​​,它提供了一个epochTime。我已经尝试了将这个纪元时间转换为日期的所有内容,但它似乎没有工作,包括$ epoch_time / 1000然后使用date()函数来转换它。

The epoch time looks something like this 1353430853299. Is there a way to do this? strtotime() did not work either.

纪元时间看起来像1353430853299.有没有办法做到这一点? strtotime()也没有用。

It seems that all of the other readings about epoch time are about changing date to epochtime, but I'm looking to go the other way around. Any help is greatly appreciated.

似乎关于纪元时间的所有其他读数都是关于将日期更改为纪元时间,但我希望反过来。任何帮助是极大的赞赏。

5 个解决方案

#1


28  

Fixed it using substr($epoch, 0, 10) and then used the date function for anyone wondering about the 13 digit epoch times.

使用substr($ epoch,0,10)修复它,然后对任何想知道13位纪元时间的人使用日期函数。

Here is a sample code:

这是一个示例代码:

echo date("Y-m-d H:i:s", substr("1477020641000", 0, 10));
// Result: 2016-10-20 20:30:41

#2


21  

There are a couple different ways you can do this.

有几种不同的方法可以做到这一点。

First off, what you've got there is a Unix Epoch time. (1/1/1970), that makes everything MUCH easier.

首先,你所拥有的是Unix Epoch时间。 (1970年1月1日),这使得一切变得更加容易。

In PHP, try

在PHP中,试试

$epoch = 1344988800;
$dt = new DateTime("@$epoch");
echo $dt->format('Y-m-d H:i:s');

To display your date

显示日期

OR

要么

If you want the long RFC232 date:

如果你想要长RFC232日期:

echo date('r', $epoch);

#3


10  

$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 

More: http://www.epochconverter.com/programming/functions-php.php

更多:http://www.epochconverter.com/programming/functions-php.php

#4


10  

<?php
$epoch = '1353429562';

date_default_timezone_set('GMT');
echo date('Y-m-d H:i:s', $epoch);

#5


2  

FYI, API that send JSON data use epoch with millisecondes to be compatible with web browsers.

仅供参考,发送JSON数据的API使用毫秒级的纪元与网络浏览器兼容。

I don't know why PHP needs to remove the millisecondes, as it is the standard for every web browser.

我不知道为什么PHP需要删除millisecondes,因为它是每个Web浏览器的标准。

So, you can use the left 10, or / 1000 (it's better to divide by 1000 if you don't want to get troubles on Nov 20, 2286!!!)

所以,你可以使用左边10或/ 1000(如果你不想在2286年11月20日遇到麻烦,最好除以1000!)

#1


28  

Fixed it using substr($epoch, 0, 10) and then used the date function for anyone wondering about the 13 digit epoch times.

使用substr($ epoch,0,10)修复它,然后对任何想知道13位纪元时间的人使用日期函数。

Here is a sample code:

这是一个示例代码:

echo date("Y-m-d H:i:s", substr("1477020641000", 0, 10));
// Result: 2016-10-20 20:30:41

#2


21  

There are a couple different ways you can do this.

有几种不同的方法可以做到这一点。

First off, what you've got there is a Unix Epoch time. (1/1/1970), that makes everything MUCH easier.

首先,你所拥有的是Unix Epoch时间。 (1970年1月1日),这使得一切变得更加容易。

In PHP, try

在PHP中,试试

$epoch = 1344988800;
$dt = new DateTime("@$epoch");
echo $dt->format('Y-m-d H:i:s');

To display your date

显示日期

OR

要么

If you want the long RFC232 date:

如果你想要长RFC232日期:

echo date('r', $epoch);

#3


10  

$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 

More: http://www.epochconverter.com/programming/functions-php.php

更多:http://www.epochconverter.com/programming/functions-php.php

#4


10  

<?php
$epoch = '1353429562';

date_default_timezone_set('GMT');
echo date('Y-m-d H:i:s', $epoch);

#5


2  

FYI, API that send JSON data use epoch with millisecondes to be compatible with web browsers.

仅供参考,发送JSON数据的API使用毫秒级的纪元与网络浏览器兼容。

I don't know why PHP needs to remove the millisecondes, as it is the standard for every web browser.

我不知道为什么PHP需要删除millisecondes,因为它是每个Web浏览器的标准。

So, you can use the left 10, or / 1000 (it's better to divide by 1000 if you don't want to get troubles on Nov 20, 2286!!!)

所以,你可以使用左边10或/ 1000(如果你不想在2286年11月20日遇到麻烦,最好除以1000!)