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

Bagaimana untuk menambah hari ke tarikh dalam Python

PHPz
Lepaskan: 2023-05-17 16:47:22
ke hadapan
899 orang telah melayarinya

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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())
Salin selepas log masuk

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}')
Salin selepas log masuk

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)
Salin selepas log masuk

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!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan