php strtotime是否有bug

來源:互聯網
上載者:User
$beginMon=strtotime("-1 week Monday");$endMon=strtotime("-1 week Tuesday")-1;echo date("Y-m-d H:i:s", $beginMon);echo('
');echo date("Y-m-d H:i:s", $endMon);echo("
");//上面是擷取本周一的開始與結束時間戳記//結果如下://2015-01-05 00:00:00(錯誤)//2014-12-29 23:59:59(正確)$beginSun=strtotime("+0 week Sunday");$endSun=strtotime("+1 week Monday")-1;echo date("Y-m-d H:i:s", $beginSun)."
";echo date("Y-m-d H:i:s",$endSun)."
";//上面擷取的是本周末的開始與結束時間戳記//結果如下://2015-01-04 00:00:00//2015-01-11 23:59:59(錯誤)//以上案例都是在今天測試(非周末 因為周末)

回複內容:

$beginMon=strtotime("-1 week Monday");$endMon=strtotime("-1 week Tuesday")-1;echo date("Y-m-d H:i:s", $beginMon);echo('
');echo date("Y-m-d H:i:s", $endMon);echo("
");//上面是擷取本周一的開始與結束時間戳記//結果如下://2015-01-05 00:00:00(錯誤)//2014-12-29 23:59:59(正確)$beginSun=strtotime("+0 week Sunday");$endSun=strtotime("+1 week Monday")-1;echo date("Y-m-d H:i:s", $beginSun)."
";echo date("Y-m-d H:i:s",$endSun)."
";//上面擷取的是本周末的開始與結束時間戳記//結果如下://2015-01-04 00:00:00//2015-01-11 23:59:59(錯誤)//以上案例都是在今天測試(非周末 因為周末)

你可以通過閱讀相關實現源碼來理解為什麼會有這樣的結果:php_date.c 和 parse_date.c。

另外還可以閱讀 官方文檔 和 常用時期處理參考 來看看如何實踐。

每星期的七天,'sunday' | 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | 'sun' 應該是以目前時間往後推 7 * 24 小時來考量的。本例中,如果你想特指本周的某個星期一,你可以使用 strtotime("-1 week Monday this week"); ,其它的天,類似地,指定是在哪個自然周內(本例即 this week 指定為本自然周),不要讓系統自己按自己預設的邏輯處理即可。

注意:回答問題時是周二。

這個並不是bug,php的官方手冊中其實就提到過與之類似的一些情況。有些情況下出現strtotime("1 months")並不是下個月,而是下下個月了。具體可以翻一下文檔手冊.就知道為什麼這麼處理了。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.