我正在编写一个程序,它需要能够处理多个日历(主要是标准的“proleptic Gregorian”和“365 day”(无闰)日历)。python datetime模块开箱即用地处理公历,但我也想让它处理其他日历。
一个简短的例子:
from datetime import datetime
import calendar
def example(year):
delta = datetime(year, 3, 1) - datetime(year, 2, 28)
print '%i is a leap year: %s' % (year, calendar.isleap(year))
print 'Days between 2-28 and 3-1: %s' % delta.days
example(2012)
2012 is a leap year: True
Days between 2-28 and 3-1: 2
example(2013)
2013 is a leap year: False
Days between 2-28 and 3-1: 1
这当然是模块的预期操作,但它不能满足我的特殊需求。我希望能够将日历设置为“noleap”并保留 datetime 和 timedelta 的功能。
我想知道是否有人有任何使用日期时间定义/使用自定义日历的经验?