php date函数返回错误的日期

时间:2011-07-11 17:41:23

标签: php date

我有一个包含date()函数的php脚本。但不知怎的,它让这一天的名字变得混乱。

这条线就像

一样简单
date ("l",mktime(0,0,0,$test3,$test2,$test4));

当我用当前日期测试它时,例如

date ("l",mktime(0,0,0,11,07,2011));

它返回星期一的正确日期。但如果我再去一天

date ("l",mktime(0,0,0,12,07,2011));

周三返回..

你知道问题出在哪里吗?有时区的任何东西......?我之前从未使用过日期函数,也无法找到任何解决方案或者在这里使用...

我感谢任何答案!提前thx!

3 个答案:

答案 0 :(得分:2)

mktime()的第四个参数是月份。 2011年11月7日是星期一,但2011年12月7日是星期三。

int mktime (
    [ int $hour = date("H") 
    [, int $minute = date("i") 
    [, int $second = date("s") 
    [, int $month = date("n") 
    [, int $day = date("j") 
    [, int $year = date("Y") 
    [, int $is_dst = -1 ]
    ]]]]]] )

此外,您应该删除存在的前导零(07 => 7)以避免意外错误。

来自:http://www.php.net/mktime

答案 1 :(得分:1)

您正在更改月份而不是白天

int mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] )

答案 2 :(得分:1)

看起来很奇怪,PHP文档说第四个参数实际上是月份(在你的例子中是11或12),而第五个(07)是那一天。尝试切换它们并再试一次。