当我在WAMP上运行这个时,当我相信我应该得到“星期五”时,我得到“星期三”。鉴于明天是2014年10月10日星期五和10日,我有理由相信它应该是星期五。 :-DPHP日期函数生成错误的星期几?
$start_day = date("D","2014-10-10");
echo $start_day;
我必须失去了一些东西明显。我从来没有遇到日期函数的问题。
预先感谢您的宝贵意见。
当我在WAMP上运行这个时,当我相信我应该得到“星期五”时,我得到“星期三”。鉴于明天是2014年10月10日星期五和10日,我有理由相信它应该是星期五。 :-DPHP日期函数生成错误的星期几?
$start_day = date("D","2014-10-10");
echo $start_day;
我必须失去了一些东西明显。我从来没有遇到日期函数的问题。
预先感谢您的宝贵意见。
日期函数的第二个参数是代表数的整数自unix时代(1-1-1970)开始以来的秒数,而不是一些自由形式的日期字符串。所以,真的,你问的是一周中的哪一天是在1-1-1970之后的2014年。
你一定想先使用stringtotime:
$start_day = date("D",strtotime("2014-10-10"));
echo $start_day;
感谢您的帮助。自从我构造了一个日期时间参数(大约18个月)后,我一直在玩弄Date :: Time结构,以便在返回到此方法之前从字符串中获取它。 – irthinker 2014-10-09 20:55:09
timestamp
的参数should be a Unix timestamp (integer),而不是字符串:
timestamp
可选的时间戳参数是一个整数Unix时间戳,如果时间戳没有给出默认为当前本地时间。换句话说,它默认为time()的值。
您可以使用strtotime
将字符串转换为合适的时间戳。
日期()需要使用时间戳作为其第二个参数。你正在传递一个随机字符串。由于它是一个字符串,它会尝试将该数字编号转换为一个字符串,并最终以“数字”结束。
所以你真的做
date('D', 2010);
对应于(大约)一月1,1970上午十二时50分00秒
谢谢。我向你保证我读过文档。我现在正处于一种混乱的状态,而且日期时间操纵很生疏。 – irthinker 2014-10-09 20:56:05
这也发生我的虚拟主机上,让我比以往任何时候,我失去了一些东西明显更担心。 – irthinker 2014-10-09 20:46:02
'date'不包含字符串。它需要一个时间戳。 – vch 2014-10-09 20:48:23
是的,我现在感觉很蠢,但是我已经达到了一个我完全无视错误的地步。可能太少咖啡因/睡眠。 – irthinker 2014-10-09 21:36:00