你如何获取今天的日期作为日期对象?
我正在尝试计算某个开始日期和今天之间的差异。 以下内容不起作用,因为getdate()
返回数组而不是日期对象:
$today = getdate();
$start = date_create('06/20/2012');
$diff = date_diff($start, $today);
echo($today . '<br/>' . $start . '<br/>' . $diff);
输出:
数组 ( [秒] => 8 [分钟] => 1 [小时] => 16 [周一] => 11 [wday] => 1 [星期一] => 6 [年] =>2012 [日] => 162 [工作日] => 星期一 [月] => 六月 [0] => 1339455668 )
日期时间对象 ( [日期] => 2012-06-20 00:00:00 [timezone_type] => 3 [时区] => 美国/Los_Angeles )
new DateTime('now');
http://www.php.net/manual/en/datetime.construct.php
比较很简单:
$today = new DateTime('now');
$newYear = new DateTime('2012-01-01');
if ($today > $newYear) {
}
操作的编辑我只需要调用date_default_timezone_set,然后这段代码对我有用。
要获得天数差异,请使用以下命令:
$today = new DateTime('today');
此对象中的时间 eill 为 00:00:00
如果您想与小时分秒相差,请使用以下命令:
$now = new DateTime('now');
我最终使用 date_create 构造函数(无参数)来获取当前日期。
$diff = date_diff(date_create('06/20/2012'), date_create());
print_r($diff);
输出:
日期间隔对象 ( [y] => 0 [m] => 0 [d] => 8 [h] => 6 [i] => 30 [s] =>40 [反转] => 1 [天] => 8 )
我不知道为什么,但是Mike B的答案(以及我为DateTime尝试的任何构造函数)在PHP5/IIS中为我抛出了错误。