酷!學園

技術討論區 => 程式討論版 => PHP程式設計討論區 => 主題作者是: seyf 於 2013-12-30 07:20

主題: echo date("W",strtotime(date("2013-12-30"))); = 01 不是 53 星期嗎
作者: seyf2013-12-30 07:20
echo date("W",strtotime(date("2013-12-30")));   = 01  不是 53 星期嗎
主題: Re: echo date("W",strtotime(date("2013-12-30"))); = 01 不是 53 星期嗎
作者: Yamaka2013-12-31 12:47
echo date("W",strtotime(date("2013-12-30")));   = 01  不是 53 星期嗎

看一下這篇

https://bugs.php.net/bug.php?id=65730 (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