Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah saya mengira selang masa dan tempoh purata antara rentetan masa dalam Python?
Mengira Selang Masa Antara Rentetan Masa
Menentukan perbezaan masa antara dua rentetan masa dalam Python boleh menjadi tugas yang mudah dengan bantuan modul datetime. Mari kita terokai cara untuk mencapai ini dan menangani keperluan tambahan untuk mengira purata.
Untuk menghuraikan rentetan masa ke dalam objek datetime, kita boleh menggunakan kaedah datetime.strptime(). Pertimbangkan contoh berikut:
from datetime import datetime start_time = "10:33:26" end_time = "11:15:49" FMT = '%H:%M:%S' # Parse time strings into datetime objects start_dt = datetime.strptime(start_time, FMT) end_dt = datetime.strptime(end_time, FMT)
Hasilnya ialah dua objek datetime, start_dt dan end_dt, yang mewakili masa mula dan tamat.
Mengira Selang Masa
Untuk mengira selang masa antara dua masa, tolak start_dt daripada end_dt:
time_interval = end_dt - start_dt
time_interval akan menjadi objek timedelta yang mengandungi perbezaan antara dua masa. Anda boleh mengakses nilai tempoh dalam jam, minit dan saat menggunakan atribut jam, minit dan saat, masing-masing.
Mengira Purata Tempoh
Untuk mengira purata tempoh daripada berbilang selang masa, anda boleh menukarnya kepada saat dan kemudian mengambil purata:
# Convert the time interval to seconds interval_seconds = time_interval.total_seconds() # Store the converted seconds in a list seconds_list.append(interval_seconds) # Calculate the average duration average_seconds = sum(seconds_list) / len(seconds_list)
Mengendalikan Keputusan Negatif
Jika masa tamat berlaku sebelum masa mula, selang_masa akan menjadi negatif. Untuk mengendalikan kes ini, anda boleh menetapkan hari secara manual kepada sifar, dengan mengandaikan selang waktu melintasi tengah malam:
if time_interval.days < 0: time_interval = timedelta( days=0, seconds=time_interval.seconds, microseconds=time_interval.microseconds )
Atas ialah kandungan terperinci Bagaimanakah saya mengira selang masa dan tempoh purata antara rentetan masa dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!