2017-03-17 71 views
1

我知道我可以用date("w");來取得0-6的數字,這取決於它是哪一天,但是我該怎麼做才能看到當月的第一天是哪一天?例如,3月1日的這個月是週三,所以週三應該返回3。如何在PHP中獲得本月的第一天數字?

我試圖用這個date("w", "Y-m-01")但它只是給我的錯誤

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

回答

2

這將返回一天(例如,「星期三」)。這是第一次在當月:

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

。 。我懷疑這對OP更有用,因此接受,但實際上它可以修改以滿足問題的確切要求(數字 - 例如「3」):

echo date('N',mktime(0, 0, 0, date('m'), 1)); 
-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'); 
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/>'; 
0

我已經試過這樣:

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

echo $date; 
相關問題