我必须编写numDays(otherdate)
函数,该函数返回此日期与OtherDate之间的正整数天数。
此函数属于Date ADT,它初始化为给定的格里高利日期。我们有self._date(month,day,year)
格式的格里高利日期。它必须返回两个日期之间的差异。如9月25日和10月6日=它有12天的差异
def numDays(self,otherDate):
print("Enter a date:")
y=int(input("Year:"))
m=int(input("Month:"))
d=int(input("Day:"))
today=self._date(y,m,d)
diff=today-otherDate
NoOfDays=diff.days
print("The Number of day between today and Julian date is %s"%NoOfDays)
写得那样,但我知道有一些错误。
答案 0 :(得分:0)
问题是,您还必须为该国家和欧洲部分地区提供您计算差额的州。有关详细信息,请参阅http://en.wikipedia.org/wiki/Gregorian_calendar的wiki。
虽然有一个通用公式(应该很容易找到),但我认为这不准确。
另一方面:谁在乎。可能已经很久以前去世的人; - )
答案 1 :(得分:0)
如果两个日期都是datetime.date
个对象,那么要计算今天和另一个日期之间的天数:
from datetime import date
number_of_days = date.today().toordinal() - other_date.toordinal()
它没有考虑与时区相关的问题,并且假设您错误地写了“Julian date”。
顺便说一下,9月25日到10月6日之间有11天:>>> date(2012, 10, 6).toordinal() - date(2012, 9, 25).toordinal()
11
>>> date(2012, 9, 26).toordinal() - date(2012, 9, 25).toordinal()
1
>>> date(2012, 9, 25).toordinal() - date(2012, 9, 25).toordinal()
0
要在没有日期时间模块的情况下执行此操作,您需要执行一些简单的算法。日历每400年重复一次,见the algorithm。