#タイトル:特定の月の特定の日を入力して、この日は今年の裁きの日がありますか?

この方法では、インターネット上のが見つかりました:

1つの アイデア:最初のそれは2月の日数に関係しているうるう年、あるかどうかを判断します。
2  一緒に蓄積されたの最初の数ヶ月後の日数に加え、その上に、最終的な「日」によると、その後、月、。
3  その後、4年間の飛躍、跳躍百年、400年と飛躍:うるう年の判断
4。データ= INPUT(1日の特定の期間を入力してください。5  #の印刷(データ)
6。 
7。年= INT(データ[0 :4 ])
 。8月INT =(DATA [5 :. 7。])
 9日= INT(DATA [8 :])
 10  プリント(月)
 。11  '' ' Yは、うるう年識別子である''' 
12は、 
13である 
14  IF年% == 100 0:
 15      IF年== 400%0:
 16          Y = 。17          プリント" うるう年1 " 18は、     19          Y = 20は、         印刷' 未うるう年1 ' 21である のelif年4%==。0:
 22である      Y = 23が     印刷' うるう年' 24  、他25      Y = Falseの
 26は     印刷' うるうない" 27 
28  IF Y:
 29      ms_day = [31,29,31,30,31,30,31,31,30,31,30,31 ]
 30      プリント' 1 ' 31は 32      、ms_day = [31,28 31,30,31,30,31,31,30,31,30,31 ]
 図33は、ある     プリント' 0 ' 34である日数= 0;
 35  用の I における範囲(1,13 ):
 36      プリント(3) から1ずつが月を決定するために、判定された12 
[37      IF I == 月:
 38である         ために J レンジ(I-1): 月私の後に決定され、追加することによって、リスト内の項目の前に、私-1ミリ秒
39              日+ = ms_day [J]
 40              印刷" %sの%sの年の最初の日である"%を(データ、(日+日) ))

この計算方法は、1月のために達成することはできません

別の解決策:

この方法の一つ:

それは、日付日時クラスモジュールを使用する必要があります最初のモジュールに導入され、

datetime.date()の使用:

用法:targetDay = datetime.date(年、月、日)

着信日時、時間の日付の種類を返します

1 targetDay = datetime.date(2020、1、1 2  プリント(型(targetDay)) 结果:<クラスのdatetime.date '> 
3  プリント(targetDay)  2019年1月1日

日付型のメソッドオブジェクト:
 1. targetDay.year番号を返しますtargetDay年
 2 targetDay.month番号を返しますtargetDay月
 3 targetDay.day#targetDayが月の日数を返すべき
 4 targetDay.weekday()#戻り、対応する日targetDay曜日
 5 targetDay.isoformat()#戻り日付を表す形式「YYYY-MM-DD」の文字列
 6 targetDay.ctime()#戻り列日付
 5 targetDay.strftime(フォーマット)#戻りaを明示的な書式化文字列で制御された日付の文字列表現、。コードは0になりフォーマット値引用時間、分、秒
   特に:オブジェクトのタイプとの間には、日付を減算することができる、戻り値は、これら二つの間の日数間隔であります

1  インポート日時
 2 targetDay = datetime.date(2020、2、1 3 nowDay = datetime.date.today()
 4 count_day = nowDay - targetDay
 5  プリント(count_day)  结果:22日、夜十二時00分00秒

結果:

1年は4桁を入力してください:2020は
 2月を入力してください:2は、
 3月の日付を入力します。1
 4 2020年2月1日32日2020年、夜12時00分00秒日最初の年です。

おすすめ

転載: www.cnblogs.com/insight-cm/p/12348383.html