php日期函数返回错误的答案?

时间:2013-12-26 12:34:13

标签: php

我正在尝试使用date函数获取当前PHP中的第一个月,但是,即使我手动更改日期字符串,输出也不是我想要的。

//get Current date
$dat=date("Y-m-d H:i:s");

//date with same month and year but first day of month in the above date
$d=date("Y-M-01",strtotime($dat));
//date with first day of month printed correctly
echo $d;

//day not printing correctly. First day is not printing. 
echo date('N',$d);

这是我得到的输出:

//This is output of date after setting first day of month
2013-Dec-01

//but when above printed date is used in as date('N',above Printed date)
//the result is 4 and not 1
4

3 个答案:

答案 0 :(得分:1)

试试这个:

echo date('N',strtotime($d));

同样在PHP date() 1代表星期一,依此类推。

答案 1 :(得分:0)

如果你想要一天,你需要写。

echo date('d', $d);

并检查以获取更多信息: http://www.php.net/manual/en/function.date.php

答案 2 :(得分:0)

首先,date函数期望第二个参数是一个时间戳,你给它一个字符串($d)。

其次,日期格式中的N日期的数字表示,而不是月份。你要找的是d

http://www.php.net/manual/en/function.date.php