1

我必须编写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)

那样写,但我知道有一些错误。

4

2 回答 2

0

问题是,您还必须提供国家和欧洲部分地区,甚至是您计算差额的州。有关详细信息,请参阅位于http://en.wikipedia.org/wiki/Gregorian_calendar的wiki 。

虽然有一个通用公式(应该很容易找到),但我认为这并不准确。

另一方面:谁在乎。那些本可以在很久以前就去世的人 ;-)

于 2012-11-23T20:10:58.310 回答
0

如果两个日期都是datetime.date对象,则计算今天和另一个日期之间的天数:

from datetime import date

number_of_days = date.today().toordinal() - other_date.toordinal()

它没有考虑与时区相关的问题,并且假定您错误地写了“朱利安日期”。

顺便说一句,从 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

要在没有 datetime 模块的情况下执行此操作,您需要执行一些简单的算术运算。日历每 400 年重复一次,请参阅算法

于 2012-11-24T00:00:35.413 回答