Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Menolak Hari daripada Tarikh dalam Python?

Bagaimanakah Saya Boleh Menolak Hari daripada Tarikh dalam Python?

Susan Sarandon
Lepaskan: 2024-11-21 22:17:15
asal
840 orang telah melayarinya

How Can I Subtract a Day from a Date in Python?

Menolak Hari daripada Tarikh dalam Python

Apabila bekerja dengan tarikh dan masa dalam Python, selalunya perlu melakukan operasi aritmetik pada objek datetime. Satu tugas biasa ialah menolak hari dari tarikh tertentu. Terdapat beberapa cara untuk mencapai ini, tetapi kaedah yang paling mudah melibatkan penggunaan objek timedelta.

Menggunakan Objek timedelta

Objek timedelta mewakili tempoh masa . Ia boleh digunakan untuk menambah atau menolak jumlah masa tertentu daripada objek datetime. Untuk menolak satu hari daripada tarikh, hanya nyatakan objek timedelta dengan bilangan hari yang sesuai dan tolakkannya daripada objek datetime.

from datetime import datetime, timedelta

# Today's date
d = datetime.today()

# Subtract one day
days_to_subtract = 1
d -= timedelta(days=days_to_subtract)

# Print the resulting date
print(d)
Salin selepas log masuk

Kod ini akan mencetak tarikh untuk semalam, kerana ia telah menolak satu hari dari tarikh semasa.

Kaedah Lain

Semasa menggunakan objek timedelta adalah cara yang paling biasa untuk menolak hari dari tarikh, terdapat kaedah lain yang boleh digunakan. Satu alternatif ialah menggunakan fungsi time.strftime(). Fungsi ini boleh digunakan untuk menukar objek datetime kepada rentetan, dan rentetan yang terhasil kemudiannya boleh dihuraikan untuk menolak satu hari.

import time

# Today's date
d = datetime.today()

# Convert to string
date_str = d.strftime('%Y-%m-%d')

# Parse the string and subtract a day
days_to_subtract = 1
date_parts = date_str.split('-')
new_date_str = '-'.join(date_parts[0:-1]) + '-' + str(int(date_parts[-1]) - days_to_subtract)

# Parse the new string back into a datetime object
new_date = datetime.strptime(new_date_str, '%Y-%m-%d')

# Print the resulting date
print(new_date)
Salin selepas log masuk

Kod ini juga akan mencetak tarikh untuk semalam. Walaupun kaedah ini lebih bertele-tele daripada menggunakan objek timedelta, kaedah ini boleh berguna dalam situasi tertentu, seperti apabila anda perlu menggunakan tarikh dalam format rentetan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menolak Hari daripada Tarikh dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan