如何将13位Unix时间戳转换为日期和时间?

时间:2015-10-03 19:42:16

标签: php timestamp unix-timestamp

我有这个13位数的时间戳1443852054000,我想转换为日期和时间但不成功。我试过这个代码:

echo date('Y-m-d h:i:s',$item->timestamp); 

不适用于我,也适用于此

$unix_time = date('Ymdhis', strtotime($datetime ));

和此:

 $item = strtotime($txn_row['appoint_date']); 
 <?php echo date("Y-m-d H:i:s", $time); ?>

我应该使用什么?

3 个答案:

答案 0 :(得分:21)

Obvioulsy这是时间戳,以毫秒为单位,而不是以秒为单位。除以1000并使用String url ="http://www.dict.cc/englisch-deutsch/trim.html"; Document doc = Jsoup.connect(url) .userAgent("Mozilla/5.0 ;Windows NT 6.1; WOW64; AppleWebKit/537.36 ;KHTML, like Gecko; Chrome/39.0.2171.95 Safari/537.36") .get(); Elements wordAEls = doc.select("dd a"); for (Element wordA : wordAEls ){ System.out.println(wordA.ownText()); } 函数:

date

答案 1 :(得分:1)

您可以使用DateTime::createFromFormat实现此目的。

由于您timestamp 13 digits 1000,因此您必须将其除以DateTime,以便与$ts = 1443852054000 / 1000; // we're basically removing the last 3 zeros $date = DateTime::createFromFormat("U", $ts)->format("Y-m-d h:i:s"); echo $date; //2015-10-03 06:00:54 一起使用,即:

date_default_timezone_set('Europe/Lisbon');

<强>样本

http://sandbox.onlinephpfunctions.com/code/d0d01718e0fc02574b401e798aaa201137658acb

您可能希望set the default timezone避免任何警告

php

注意

有关php the right way

list-comprehension日期和时间的详情

答案 2 :(得分:0)

JavaScript中使用13位时间戳记来表示时间(以毫秒为单位)。在PHP 10中,数字时间戳用于表示时间(以秒为单位)。因此,除以1000并四舍五入得到10位数字。

$timestamp = 1443852054000;
echo date('Y-m-d h:i:s', floor($timestamp / 1000));