我知道我可以用date("w");
來取得0-6的數字,這取決於它是哪一天,但是我該怎麼做才能看到當月的第一天是哪一天?例如,3月1日的這個月是週三,所以週三應該返回3。如何在PHP中獲得本月的第一天數字?
我試圖用這個date("w", "Y-m-01")
但它只是給我的錯誤
Warning: date() expects parameter 2 to be long, string given
我知道我可以用date("w");
來取得0-6的數字,這取決於它是哪一天,但是我該怎麼做才能看到當月的第一天是哪一天?例如,3月1日的這個月是週三,所以週三應該返回3。如何在PHP中獲得本月的第一天數字?
我試圖用這個date("w", "Y-m-01")
但它只是給我的錯誤
Warning: date() expects parameter 2 to be long, string given
這將返回一天(例如,「星期三」)。這是第一次在當月:
echo date('l',mktime(0, 0, 0, date('m'), 1));
。 。我懷疑這對OP更有用,因此接受,但實際上它可以修改以滿足問題的確切要求(數字 - 例如「3」):
echo date('N',mktime(0, 0, 0, date('m'), 1));
你可以用類的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');
<?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/>';
我已經試過這樣:
$date = date("N", mktime(0, 0, 0, date('n'), 1, date('Y')));
echo $date;