2017-03-17 68 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; 
相关问题