$myDate = "30-Aug-2014";
$which_day = date('N',$myDate);
echo "Which Day > " . $which_day;
回归是
Which Day > 4
但结果应该是6,因为它是星期六:)如何更改以使我的代码返回6这是实际的答案。我在数据库中的日期格式不是unix时间,并且是varchar格式的
d-M-Y
答案 0 :(得分:1)
您必须先使用strtotime()
将其转换为时间戳,然后将其输入date()
函数。 〔实施例:
$myDate = "30-Aug-2014";
$which_day = date('N', strtotime($myDate));
// ^
echo "Which Day > " . $which_day; // Which Day > 6
或者您也可以使用DateTime
:
$myDate = "30-Aug-2014";
$which_day = DateTime::createFromFormat('d-M-Y', $myDate);
echo "Which Day > " . $which_day->format('N');
答案 1 :(得分:1)
使用strtotime()和date():
$myDate = "30-Aug-2014";
$which_day = date('N',strtotime($myDate));
echo "Which Day > " . $which_day;