我对 php 的DateTime类做了一个小实验。在文档中,他们建议了创建给定 DateTime 类对象的语法。
面向对象风格:
public DateTime::__construct() ( [ string $time = "now" [, DateTimeZone $timezone = NULL ]] )
程序风格:
DateTime date_create ( [ string $time = "now" [, DateTimeZone $timezone = NULL ]] )
返回新的 DateTime 对象。
这里他们指定为强制的第一个参数,作为日期和时间格式部分中指定的日期/时间字符串。或者我们NULL
在使用 $timezone 参数时必须通过这里来获取当前时间。
但我的问题是当我给出以下代码时:
date_default_timezone_set('America/Los_Angeles');
$d_ob = new DateTime('x');
echo $d_ob->format('Y-m-d');
它应该会产生异常,但它会呼应当前日期时间,例如-
2013-09-29
我不明白这一点,它是如何工作的?