这很奇怪,我不知道这是不是一个错误,但请有人尝试。
在PHP上执行此操作
echo date("Y-W",strtotime("2014W05 -1 weeks"));
结果将是2014-04,对吗?今年WEEKNUMBER。没问题。 但现在,试试这个:
echo date("Y-W",strtotime("2014W02 -1 weeks"));
为什么是2013-01,为什么是2013?怎么了?它应该是2014-01,对吧?
我做错了什么?这是一个错误吗?
我的PHP版本:5.4.22
答案 0 :(得分:10)
Y is year from the date
o is ISO-8601 year number
所以,如果你这样做
echo date("o-W",strtotime("2014W05 -1 weeks"))."<br/>";
echo date("o-W",strtotime("2014W02 -1 weeks"));
你会得到
2014-04
2014-01
编辑Jasper
因为日期是一个时刻而不是一周,所以你要求一周并获得该周的第一个时刻。根据标准,周数基于周四所在的年份。因此,周数为1,但日期仍为2013年。