php DateTime转换unix时间戳

时间:2011-02-05 04:03:50

标签: php datetime unix

我遇到的一个问题是为什么DateTime类默认不转换unix epoc 例子是

function convert($date){ $d = new DateTime($date); echo $d; } $now = time(); convert($now);

我的意思是确保在PHP中有20种不同的日期/时间函数,但是最常见的格式之一错误可以让某些人在我没有通过字符串时间通过其他2个函数“杂乱的代码”将其传递给DateTime类?

3 个答案:

答案 0 :(得分:5)

function convert($date){
$d = new DateTime($date);
echo $d;
}
$now = time();
convert('@'.$now);

示例#2 http://www.php.net/manual/en/datetime.construct.php

答案 1 :(得分:1)

这会将自Unix Epoch以来的秒数转换为DateTime:

$my_php_datetime_object =  DateTime::createFromFormat('U', $seconds_epoch)

http://php.net/manual/en/datetime.createfromformat.php

答案 2 :(得分:0)

尝试查看此网站...它在不同语言中帮助了我很多次。 http://www.epochconverter.com/

所以我想你想要这个:

function convert($date)
{
    $d = date("r", $date);
    echo $d;
}

$now = time();

convert($now);
echo "<br><br>";
convert("1296928800");
echo "<br><br>";

#  60  * 60   * 24    * 365  * 40
# secs   mins   hours   days   years

convert("1296928800" + (60 * 60 * 24 * 365 * 40));
echo "<br><br>";
convert($now + (60 * 60 * 24 * 365 * 40));