PHP日期函数生成错误的一周?

时间:2014-10-09 20:44:06

标签: php date datetime wamp

当我在WAMP上运行时,我得到" Wed"当我相信我应该得到"周五"。鉴于明天是星期五和2014年10月10日,我有理由相信应该是星期五。 :-D

        $start_day = date("D","2014-10-10");
        echo $start_day;

必须缺少明显的东西。我之前从未遇到过日期函数的问题。

提前感谢你的好意。

3 个答案:

答案 0 :(得分:3)

timestamp参数should be a Unix timestamp (integer),而不是字符串:

  

timestamp

     

可选的timestamp参数是整数Unix时间戳,如果未给出时间戳,则默认为当前本地时间。换句话说,它默认为time()的值。

您可以使用strtotime将字符串转换为合适的时间戳。

答案 1 :(得分:2)

RTM:http://php.net/date

date()期望TIMESTAMP作为其第二个参数。你传递的是随机字符串。由于它是一个字符串,它会尝试将该numer-number-number转换为字符串,最后只是“数字”。

所以你真的在做

date('D', 2010);

对应于(大致)Jan 1,1970 00:50:00 am

答案 2 :(得分:2)

date函数的第二个参数是一个整数,表示自unix纪元(1-1-1970)开始以来的秒数,而不是一些自由格式的日期字符串。所以,真的,你问的是在一周的哪一天是在1-1-1970之后的2014秒。

您首先要使用stringtotime:

$start_day = date("D",strtotime("2014-10-10"));
echo $start_day;