|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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 没毛病
|
|