作者 主題: echo date("W",strtotime(date("2013-12-30"))); = 01 不是 53 星期嗎  (閱讀 1337 次)

0 會員 與 1 訪客 正在閱讀本文。

seyf

  • 可愛的小學生
  • *
  • 文章數: 1
    • 檢視個人資料
echo date("W",strtotime(date("2013-12-30")));   = 01  不是 53 星期嗎

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
echo date("W",strtotime(date("2013-12-30")));   = 01  不是 53 星期嗎

看一下這篇

https://bugs.php.net/bug.php?id=65730

官方說法,這是依據 ISO 8601 算出來的,所以是正確的  :D

我試了一下 perl 的 Date::Calc

代碼: [選擇]
$ perl -e 'use Date::Calc qw(Week_Number); $wn = Week_Number(2013,12,30); print "$wn\n"'
53

還有 python 的 datetime

代碼: [選擇]
$ python
Python 2.6.5 (r265:79063, Sep 26 2013, 18:48:04)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from datetime import *
>>> date(2013, 12, 30).isocalendar()[1]
1