0

したがって、私の学校の課題では、経過日数 (経過日数) を計算する必要がある加齢プログラムを作成する必要があります。グラフィックウィンドウではなく、テキストウィンドウにある必要があります。

私はこれを持っています:

Dayslived = (bob * 12 + (clock.month - month + 12)) * 30.4 + (clock.Day - day)

それは機能しますが、現在の月よりも前の月 (数値 4 = 4 月) をプログラムに与えるように入力すると、機能しません。

これを修正するにはどうすればよいですか?

4

1 に答える 1

0
  1. Python の例が必要な場合は、これを試してください。

    from datetime import date
    result = date.today() - date(2001, 1, 1)
    print(result.days)
    
  2. 別の方法 - 2 つの Julian Day の差を使用します。

    def convert_to_julian_day(day, month, year):
        """
        Convert Gregorian calendar date to Julian Day(JD).
        """
    
        a = (14 - month) / 12
        b = year + 4800 - a
        c = month + 12 * a - 3
    
        jd = day + (153 * c + 2) / 5 + 365 * b + b / 4 - b / 100 + b / 400 - 32045
        return int(jd)
    
    
    jd_today = convert_to_julian_day(22, 4, 2021)
    jd_born_date = convert_to_julian_day(1, 1, 2010)
    age_in_days = jd_today - jd_born_date
    
    print(age_in_days)  # 4130 days
    

より詳細なユリウス日アルゴリズムについては、こちらをお読みください: The Julian Period

于 2021-04-22T20:49:51.347 に答える