如何找到一个月的第一天与DateTime类


How to find first day of the month with DateTime class

我正在制作日历,但是我遇到了一个问题。我一直在想怎么过一个月的第一天。我以前是这样做的:

$start = date('d', strtotime("$year-$month-1")); // For this month '2015-9' it returns 1

现在我知道我需要在日历中添加一个空元素,以便在正确的日期开始。

但是现在我想这样做与DateTime类,但我不知道如何做到这一点。我想知道是否类似于上面的代码是可行的与DateTime类。

让我们假设我的日历在下面。

|S|M|T|W|T|F|S|
|0|1|2|3|4|5|6|

每个月的开始日期都不一样,我想知道这个月的日期。

我很确定任何给定月的第一天总是编号1。但如果你想知道这个月的其他属性;你可以使用:

$date = new DateTime('2010-09-21');
$date->modify('first day of this month');
echo $date->format('r');

您更新后;我的回答只需要稍加修改;输出$date->format('N');以获得星期数。文档

中概述了可以使用的格式。