2014年底很酷的PHP小难题

问题来自Reddit的cffury13:

这道小难题是这样的:当你今天运行strftime(“%G-%m-%d”, time()) 的时候,你会得到2015-12-31,你知道为什么会这样嘛?

来自gou1的回答:

%G:全四位数版本的%g

%g:由ISO-8061:1988标准规定的代表年份的两位数

%V:ISO-8061:1988 给定某年的周数(即表示某年的第N周)以新年至少有四个工作日的第一周开始,以周一作为每周的第一天

这周刚好碰上%V所描述的2015年第一周的情况,所以通过%G返回的年份就已经是2015年了。其他的格式,比如%m和%d的表现是正常的。

顺便提一下,这个还导致了Twitter在12月28日的宕机事件

留下评论