将本地时间响应转换为1970年以来的秒数

时间:2014-02-25 15:06:50

标签: php localtime

我需要获得自1970年以来的秒数,直到我调用localtime后的时间。有没有一种简单的方法可以将从localtime (1393340639)返回的内容转换回秒?

2 个答案:

答案 0 :(得分:1)

请勿使用localtime。自PHP 5.2发布以来,最后November 2nd 2006,您可以使用DateTime,它提供了一个更好的界面来播放时间,并且与UNIX时间戳(您正在寻找的)兼容。

**编辑**

例如:

// always work with UTC!
date_default_timezone_set('UTC');

// support your legacy need...
$lt = localtime(1393340639);

$dt = new DateTime();
// Note : DateTime's year is 0 based, while localtime's 1900 based, so we add 1900
// Note : DateTime's month is 1 based, while localtime's 0 based, so we add 1
$dt->setDate($lt[5] + 1900, $lt[4] + 1, $lt[3]);
$dt->setTime($lt[2], $lt[1], $lt[0]);
//$dt->setTimestamp(1393340639);  // <-- SAME THING!

var_dump($dt);
// output:
// object(DateTime)#1 (3) {
//  ["date"]=>
//  string(19) "2014-02-25 15:03:59"
//  ["timezone_type"]=>
//  int(3)
//  ["timezone"]=>
//  string(3) "UTC"
// }

echo $dt->getTimestamp();
// output: 1393340639 (which is your initial timestamp value)

但最好不要完全不使用localtime。只需传递一个DateTime对象。

答案 1 :(得分:0)

如果你正在寻找从1970年到被调用函数的秒数,你可以使用<?PHP echo time() ?>