[英]PHP date/strtotime converting to incorrect date
在某些情況下, 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")
2011年10月25日是星期二。 Strtotime將日期字符串解釋為“ 10月25日之后的下一個星期五是什么”,並且返回(它認為)是正確的答案:10月28日。
因此,GIGO規則適用。 您正在喂垃圾,想知道為什么要扔垃圾。
您傳遞給strtotime
的值並不相符。 2011年5月25日沒有周五。
date()
可以正常工作。 問題是,在您的示例中,如果輸出錯誤,則指定的日期不是Friday 。
如果始終為Fri
則可以刪除前4個字符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.