如何在PHP中获得月份数量的第一天?

时间:2017-03-17 19:29:38

标签: php date

我知道我可以使用date("w");来获取0-6的数字,具体取决于它是什么日期,但我如何才能看到当月第一天的哪一天?例如,本月3月1日是星期三,因此应该在星期三返回3。

我尝试使用此date("w", "Y-m-01"),但它只是给了我错误

Warning: date() expects parameter 2 to be long, string given

4 个答案:

答案 0 :(得分:2)

这将返回当前月份中的第一天(例如“星期三”):

echo date('l',mktime(0, 0, 0, date('m'), 1));

..我怀疑这对OP更有用,因此接受,但事实上它可以被修改以满足问题的确切要求(数字 - 例如“3”):

echo date('N',mktime(0, 0, 0, date('m'), 1));

答案 1 :(得分:0)

<?php

$month_start = strtotime('first day of this month', time());

//first day name , month, year
echo date('D, m Y', $month_start).'<br/>';

//first day number (Monday = 1, Tuesday = 2) etc , month, year
echo date('N, m Y', $month_start).'<br/>';

答案 2 :(得分:0)

我试过这个:

$date = date("N", mktime(0, 0, 0, date('n'), 1, date('Y')));

echo $date;

答案 3 :(得分:-2)

您可以使用类DateTime

来完成
echo (new DateTime('first day of this month'))->format('jS, F Y');

echo (new DateTime('2017-03-17'))
  ->modify('first day of this month')
  ->format('jS, F Y');