马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
最近再看《0基础学习python》中的’044魔法方法:简单定制’里面有扩展阅读讲到isocalendar()函数
# Follow FishC. Follow your dream!
>>> from datetime import date
>>> d = date.fromordinal(735678) # 自日期 1.1.0001 之后的第 735678 天
>>> d
datetime.date(2015, 3, 21)
>>> t = d.timetuple()
>>> for i in t:
print(i)
2015
3
21
0
0
0
5
80
-1
>>> ic = d.isocalendar()
>>> for i in ic:
print(i)
2015
12
6
>>> d.isoformat()
'2015-03-21'
>>> d.strftime("%d/%m/%y")
'21/03/15'
>>> d.strftime("%A %d. %B %Y")
'Saturday 21. March 2015'
>>> 'The {1} is {0:%d}, the {2} is {0:%B}.'.format(d, "day", "month")
'The day is 21, the month is March.'
在这个代码中不是很明白:为什么输入ic显示的是(2015, 12, 6)而不是(2015, 3, 21)
isocalendar(...)
| Return a 3-tuple containing ISO year, week number, and weekday.
日历星期和日表示法
可以用2位数表示年内第几个日历星期,再加上一位数表示日历星期内第几天,但日历星期前要加上一个大写字母W,如2004年5月3日可写成2004-W19-1或2004W191。但2005-W011是从2005年1月3日开始的,前几天属于上年的第53个日历星期,每个日历星期从星期一开始,星期日为第7天。
datetime.date(2017,4,6).isocalendar()
(2017, 14, 4)
2017 第14个礼拜的礼拜4 没毛病
|