ホームページ > バックエンド開発 > Python チュートリアル > Python で日付に日数を追加する方法

Python で日付に日数を追加する方法

PHPz
リリース: 2023-05-17 16:47:22
転載
885 人が閲覧しました

datetime モジュールの timedelta() メソッドを使用して、日付に日数を加算します。たとえば、result_1 = date_1 timedelta(days=3)# です。 ##。 timedelta このメソッドには days パラメーターを渡すことができ、指定された日数を日付に追加します。

from datetime import datetime, date, timedelta

# ✅ 将天数添加到日期
my_str = '09-24-2023'  # ????️ (mm-dd-yyyy)
date_1 = datetime.strptime(my_str, '%m-%d-%Y')

print(date_1)  # ????️ 2023-09-24 00:00:00

result_1 = date_1 + timedelta(days=3)
print(result_1)  # ????️ 2023-09-27 00:00:00

# -----------------------------------------------

# ✅ 将天数添加到当前日期

current_date = datetime.today()
print(current_date)  # ????️ 2022-06-20 09:42:22.341830

result_2 = current_date + timedelta(days=7)
print(result_2)  # ????️ 2022-06-27 09:43:09.084770


# -----------------------------------------------

# ✅ 使用 date 而不是 datetime

date_3 = date(2023, 9, 24)
print(date_3)  # ????️ 2023-09-24

result_3 = date_3 + timedelta(days=3)
print(result_3)  # ????️ 2023-09-27

# -----------------------------------------------

# ✅ 将天数添加到当前日期(使用 date 而不是 datetime)

date_4 = date.today()
print(date_4)  # ????️ 2022-06-20

result_4 = date_4 + timedelta(days=7)
print(result_4)  # ????️ 2022-06-27
ログイン後にコピー

datetime または date および timedelta クラスを datetime モジュールからインポートしてください。

この方法を使用すると、必要に応じて月 (および年) が切り替わります。

最初の例では、

datetime.strptime() メソッドを使用して、指定された日付文字列に対応する datetime オブジェクトを取得し、指定された形式に従って解析します。

datetime オブジェクトを取得したら、timedelta クラスを使用して日数を追加できます。

from datetime import datetime, timedelta
my_str = '09-24-2023'  # ????️ (mm-dd-yyyy)

date_1 = datetime.strptime(my_str, '%m-%d-%Y')
print(date_1)  # ????️ 2023-09-24 00:00:00

result_1 = date_1 + timedelta(days=3)
print(result_1)  # ????️ 2023-09-27 00:00:00
ログイン後にコピー

この例の日付文字列形式は

mm-dd-yyyy です。

日付文字列のフォーマットが異なる場合は、このドキュメントの表を使用して、

strptime() メソッドの 2 番目の引数として渡す必要があるフォーマット コードを見つけてください。

2 番目の例では、現在の日付に日数を加算します。

from datetime import datetime, timedelta
current_date = datetime.today()
print(current_date)  # ????️ 2022-06-20 09:42:22.341830

result_2 = current_date + timedelta(days=7)
print(result_2)  # ????️ 2022-06-27 09:43:09.084770
ログイン後にコピー

datetime.today() メソッドは、現在のローカル日付と時刻を返します。

3 番目の例では、日付に日数を加算するときに、

datetime メソッドの代わりに date() メソッドを使用します。

from datetime import date, timedelta

date_3 = date(2023, 9, 24)
print(date_3)  # ????️ 2023-09-24

result_3 = date_3 + timedelta(days=3)
print(result_3)  # ????️ 2023-09-27
ログイン後にコピー

datetime.timedelta メソッドには、date または datetime オブジェクトに追加する日数を渡すことができます。

timedelta このメソッドは、日、週、時間、分、秒、ミリ秒、およびマイクロ秒をパラメーターとして渡すことができます。

すべてのパラメータはオプションであり、デフォルトは 0 です。

引数の順序が混乱を招く可能性があるため、キーワード引数は

timedelta クラスの呼び出しでのみ使用することをお勧めします。

操作後の日付のみを抽出する必要がある場合は、

datetime オブジェクトの date() メソッドを呼び出します。

from datetime import datetime, timedelta

now = datetime.now()
print(now)  

result = now + timedelta(days=5)
print(result)  

print(result.date())
ログイン後にコピー

datetime.date メソッドは、同じ年、月、日の日付オブジェクトを返します。

何らかの方法で日付をフォーマットする必要がある場合は、フォーマットされた文字列リテラルを使用します。

from datetime import datetime, timedelta

now = datetime.now()
print(now)  

result = now + timedelta(days=6)
print(result)  

print(result.date())  

print(f'{result:%Y-%m-%d %H:%M:%S}')
ログイン後にコピー

フォーマットされた文字列リテラル

(f-strings) プレフィックス f を付けて、文字列に式を含めてみましょう。

式は必ず中かっこで囲んでください (

{式})。

フォーマットされた文字列リテラルを使用すると、式ブロック内でフォーマット仕様ミニ言語を使用することもできます。

4 番目の例では、現在の日付を表す

date オブジェクトに日数を加算します。

from datetime import date, timedelta
date_4 = date.today()
print(date_4) 

result_4 = date_4 + timedelta(days=7)
print(result_4)
ログイン後にコピー

date.today メソッドは、現在のローカル日付を表す date オブジェクトを返します。

以上がPython で日付に日数を追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート