2013-02-20 100 views
4

我正在研究几年的代码库,它使用DateTime。该服务器正在使用PHP 5.2如何从PHP 5.2的DateTime对象获取unix时间戳?

我看到DateTime :: getTimestamp()已被添加后PHP 5.3

是否有可能从DateTime获得时间戳PHP 5.2

我用get_class_methods来查看该方法是否可用,但事实并非如此。

Array 
(
    [0] => __construct 
    [1] => format 
    [2] => modify 
    [3] => getTimezone 
    [4] => setTimezone 
    [5] => getOffset 
    [6] => setTime 
    [7] => setDate 
    [8] => setISODate 
) 
+1

可能重复的[是否有可能从这样的日期获取UNIX时间2011-02-27 02:04:46?](http://stackoverflow.com/questions/5749319/is-it-possible-to- get-unix-time-from-such-date-2011-02-27-020446) – mario 2013-02-20 02:31:18

回答

10
$datetime = new DateTime(); 
echo $datetime->format('U'); 

See it in action

编辑

由于PHP 5.4,你可以让这一个班轮:

echo (new DateTime())->format('U'); 
+0

我讨厌它,这是不可能的一行代码。像这样''(new DateTime()) - > format('U')',grrr ... – algorhythm 2014-05-07 10:19:30

+1

@algorhythm您可以在PHP 5.4+中使用 – 2014-05-07 11:39:06

+0

Ah,thx,这对我来说是新的;) – algorhythm 2014-05-07 12:45:13

3

使用U作为参数约会时间: :格式()是使用PHP 5.2的 的替代方案。

$ts = $datetimeObj->format('U'); 
2

如果你想看看在manual

使用U作为参数为DateTime ::格式()是使用PHP 5.2的替代时 。

所以DateTime::format('U')它。