这很奇怪,我不知道这是不是一个bug,但请有人尝试一下.
在PHP上做到这一点
echo date("Y-W",strtotime("2014W05 -1 weeks"));
Run Code Online (Sandbox Code Playgroud)
结果将是2014-04,对吗?今年WEEKNUMBER.没问题.但现在,试试这个:
echo date("Y-W",strtotime("2014W02 -1 weeks"));
Run Code Online (Sandbox Code Playgroud)
为什么是2013-01,为什么是2013?怎么了?它应该是2014-01,对吗?
我做错了什么?这是一个错误吗?
我的PHP版本:5.4.22
Ham*_*mza 10
Y is year from the date
o is ISO-8601 year number
Run Code Online (Sandbox Code Playgroud)
所以如果你这样做的话
echo date("o-W",strtotime("2014W05 -1 weeks"))."<br/>";
echo date("o-W",strtotime("2014W02 -1 weeks"));
Run Code Online (Sandbox Code Playgroud)
你会得到
2014-04
2014-01
Run Code Online (Sandbox Code Playgroud)
贾斯珀编辑
因为日期是一个时刻而不是一个星期,所以您要求一周并获得该周的第一个时刻.根据标准,周数基于周四所在的年份.因此,周数为1,但日期仍为2013年.