2012-12-05 38 views
11

是否有其作用像strtotime()芯PHP函数DateTime类的方法?的strtotime()DateTime类模拟方法

例如strtotime('last monday');

+1

是的,'$ date = new DateTime('2012-01-25 19:44:49.123'); echo $ dt-> getTimestamp();'。 – shadyyx

+0

“模拟”以什么方式? – deceze

+0

@deceze我猜想它的价值返回的方式... – shadyyx

回答

21

这将是DateTime::__construct

$date = new DateTime('Sunday'); 
+0

不幸的是,'DateTime'构造函数没有像'strtotime'这样的'$ now'参数。有没有其他的方式来告诉构造函数,这是计算的日期? – Czechnology

+18

'(new DateTime('now')) - > modify('+ 5 days')' – deceze

+0

谢谢,无法从文档中找出它! – Czechnology

3

我认为你正在寻找DateTime.createFromFormat()

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

+0

'createFromFormat()'根本不像'strtotime()'。后者需要的时间/日期几乎是无限的,包括像“下周日”和“十二月”这样的相关类型。第一个',而用户必须指定一个准确的格式以与前者一起解析。 –

5

由于strtotime()回报长期UNIX时间戳,日期时间有方法getTimestamp()

$date = new DateTime('2012-01-25 19:44:49.123'); 
echo $date->getTimestamp(); 
+0

这复制了strtotime()的输出。另一种是'(新日期时间('2012-01-25 19:44:49.123')) - >格式('U');' –