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