我正在编写(只是为了好玩)一个功能,可以打印任何给定月份和年份的日历。 如何确定一个月的第一天?不使用日历模块。
答案 0 :(得分:4)
你的意思是工作日(星期一,......星期日)?
>>> from datetime import datetime
>>> datetime(2017, 11, 2).weekday() # Or another day
3
0到6的结果,其中0是星期一。
http://docs.python.org/3/library/datetime.html
上面的链接中还有isoweekday
,isocalendar
和其他功能/方法可能会有所帮助。
答案 1 :(得分:2)
假设您想知道计算是如何完成的,而不仅仅是要调用的库模块,通常的方法是Zeller的同余。
http://en.wikipedia.org/wiki/Zeller%27s_congruence
这是一个简洁的公式,基于这样的观察:如果你把这一年视为从三月而不是一月开始,这几个月的日子几乎是间隔的。如果你看一下9月到12月的月份名字背后的拉丁语,你应该看到确实是在年代开始的时候(当时朱利安,以Julius Caesar命名)日历的设计。
您还可以搜索该术语,以便在几乎所有编程语言中找到大量不同质量的实现。
答案 2 :(得分:1)
H.D的答案很好,如果您需要following应该工作的那天的名字。
>>> from datetime import datetime
>>> datetime.now().strftime("%A")
'Wednesday'
>>>