在某些情况下,data()
会错误地转换我的日期。
我的日期格式如下:
Fri Oct 25 15:00:00 EDT 2011
日期字符串来自外部来源,因此我无法更改格式。
// output incorrect - Fri, 28 Oct 2011 15:00:00 -0400
date("r", strtotime("Fri Oct 25 15:00:00 EDT 2011"))
// output correct - Fri, 21 Oct 2011 15:00:00 -0400
date("r", strtotime("Fri Oct 21 15:00:00 EDT 2011"))
我无法弄清楚为什么只改变一天就无法转换。
我的最终目标是创建一个DateTime对象,但它遇到了同样的问题。
// output - Fri Oct 28 19:00:00 EDT 2011
DateTime("Fri Oct 22 19:00:00 EDT 2011")
答案 0 :(得分:3)
2011年10月25日是星期二。 Strtotime将您的日期字符串解释为“10月25日之后的下一个星期五”,并且正在返回(它认为)正确的答案:10月28日。
因此,GIGO规则适用。你正在吃垃圾,想知道你为什么要把垃圾扔掉。
答案 1 :(得分:0)
您传入strtotime
的价值不符合。 2011年没有星期五。
答案 2 :(得分:0)
date()
运行正常。
问题是,在输出错误的示例中,指定日期不是星期五。
如果始终为Fri
,您可以删除前4个字符。