Php 使用DateTime在00:00:00获取上个月的第一天?

Php 使用DateTime在00:00:00获取上个月的第一天?,php,datetime,Php,Datetime,如何获得上个月的第一天和开始时间?我目前正在使用: $date = new DateTime('first day of last month'); 它给了我上个月的第一天,但与我现在的时间有关。 我实际上想做的是,也从时区开始。例如: $date = new DateTime('first day of previous month', new DateTimeZone('UTC')); 结果将是2013年7月1日00:00:00。或者如果我使用: $date = new DateTim

如何获得上个月的第一天和开始时间?我目前正在使用:

$date = new DateTime('first day of last month');
它给了我上个月的第一天,但与我现在的时间有关。 我实际上想做的是,也从时区开始。例如:

$date = new DateTime('first day of previous month', 
new DateTimeZone('UTC'));
结果将是2013年7月1日00:00:00。或者如果我使用:

$date = new DateTime('first day of previous month', 
new DateTimeZone('Europe/Amsterdam'));
预期结果:2013年6月30日21:00:00(由于其偏移)

如何使用PHP实现这一点?

只需添加时间()

或者加上午夜()


.

在这种情况下,预期的结果是什么?SQL是否出于任何原因对此进行了标记?似乎您只是在使用PHP来实现这一点,对吗?@AmalMurali预期的结果已经在上面陈述过了。最后的结果。对不起,如果我没有用“期望”这个词|@是的,我只使用PHP:)非常感谢:)我不知道午夜的事。
$date = new DateTime('first day of previous month 00:00:00', new DateTimeZone('UTC'));
var_dump($date->format('Y-m-d H:i:s')); // string(19) "2013-11-01 00:00:00"

$date = new DateTime('first day of previous month 00:00:00', new DateTimeZone('Europe/Amsterdam'));
var_dump($date->format('Y-m-d H:i:s')); // string(19) "2013-11-01 00:00:00"
$date = new DateTime('midnight first day of previous month', new DateTimeZone('Europe/Amsterdam'));
var_dump($date->format('Y-m-d H:i:s'));

$date = new DateTime('midnight first day of previous month', new DateTimeZone('UTC'));
var_dump($date->format('Y-m-d H:i:s'));