在Python里拿周序号

早晨有同事问为什么Python里的datetime模块使用strftime("%W")取出来的Week number不对呢,好象差一周。使用date "+%W"得出的结果与Python的结果是一致的。

造成这种差异的原因是对于周数的定义不太一致,通常使用的周数指的是ISO 8601中定义的。要输出这个ISO格式的周数应当使用strftime("%V")%U%W%V的区别在strftime(3)说的明白。虽然Python在strftime文档里没有说明可以使用%V格式化,但是在2.3、2.4、2.5和2.6里测试都可以正常的输出ISO的周数。Python提供的另外一种方法是isocalendar(),这个方法返回一个tuple(Year, WeekOfYear, DayOfWeek)


Last modified on 2009-08-05