Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk menambah hari ke tarikh dalam Python

Bagaimana untuk menambah hari ke tarikh dalam Python

PHPz
PHPzke hadapan
2023-05-17 16:47:22916semak imbas

Tambah bilangan hari pada tarikh menggunakan kaedah daripada modul masatimedelta(), mis. Kaedah result_1 = date_1 + timedelta(days=3) boleh dilalui parameter beberapa hari dan menambah bilangan hari yang ditentukan pada tarikh. timedelta

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

Pastikan anda mengimport kelas

atau dan daripada modul datetimedatetimedate. timedelta

Apabila menggunakan kaedah ini, bulan (dan tahun) akan bergulir mengikut keperluan.

Contoh pertama menggunakan kaedah

untuk mendapatkan objek datetime yang sepadan dengan rentetan tarikh yang disediakan dan menghuraikannya mengikut format yang ditentukan. datetime.strptime()

Setelah kita mempunyai objek

, kita boleh menggunakan kelas datetime untuk menambah bilangan hari. Format rentetan tarikh dalam contoh 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

ialah

. mm-dd-yyyy

Jika kami mempunyai rentetan tarikh yang diformat secara berbeza, gunakan jadual dokumentasi ini untuk mencari kod format yang perlu anda hantar sebagai argumen kedua kepada kaedah

. strptime()

Contoh kedua menambah bilangan hari pada tarikh semasa. Kaedah

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

mengembalikan tarikh dan masa setempat semasa. datetime.today()

Contoh ketiga menggunakan kaedah

dan bukannya kaedah date() apabila menambah hari pada tarikh. Kaedah datetime

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

boleh melepasi bilangan hari yang kita mahu tambah pada objek datetime.timedelta atau date. Kaedah datetime

boleh melepasi hari, minggu, jam, minit, saat, milisaat dan mikrosaat sebagai parameter. timedelta

Semua parameter adalah pilihan dan lalai kepada 0.

Sebaik-baiknya hanya menggunakan argumen kata kunci dalam panggilan ke kelas

, kerana susunan argumen boleh mengelirukan. timedelta

Jika kita hanya perlu mengekstrak tarikh selepas operasi, panggil kaedah

pada objek datetime. Kaedah date()

from datetime import datetime, timedelta

now = datetime.now()
print(now)  

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

print(result.date())

mengembalikan objek tarikh dengan tahun, bulan dan hari yang sama. datetime.date

Jika kita perlu memformat tarikh dalam beberapa cara, gunakan literal rentetan format.

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}')

Rentetan terformat secara literal

Mari kita masukkan ungkapan dalam rentetan dengan menambahkannya dengan (f-strings). f

Pastikan untuk menyertakan ungkapan dalam pendakap -

. {expression}

Literal rentetan yang diformatkan juga membolehkan kami menggunakan bahasa mini spesifikasi format dalam blok ungkapan.

Contoh keempat menambah bilangan hari pada objek

yang mewakili tarikh semasa. Kaedah date

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

result_4 = date_4 + timedelta(days=7)
print(result_4)

mengembalikan objek date.today yang mewakili tarikh setempat semasa. date

Atas ialah kandungan terperinci Bagaimana untuk menambah hari ke tarikh dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam