1

numDays(otherdate)この日付とOtherDateの間の正の整数として日数を返す関数を作成する必要があります。

この関数は、指定されたグレゴリオ暦の日付に初期化されたクラスDateADTに属しています。グレゴリオ暦の日付がself._date(month,day,year)フォーマットされています。2つの日付の差を返す必要があります。たとえば、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

両方の日付が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

日時モジュールなしでそれを行うには、いくつかの簡単な計算を実行する必要があります。カレンダーは400年ごとに繰り返されます。アルゴリズムを参照してください。

于 2012-11-24T00:00:35.413 に答える
0

問題は、差額を計算する国とヨーロッパの一部の州も指定する必要があることです。詳細については、 http://en.wikipedia.org/wiki/Gregorian_calendarのwiki を参照してください。

一般的な式がありますが (これは非常に簡単に見つけられるはずです)、これは正確ではないと思います。

反対側:誰が気にしますか。ずっと前に亡くなった可能性のある人々;-)

于 2012-11-23T20:10:58.310 に答える