Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah saya mengira selang masa dan tempoh purata antara rentetan masa dalam Python?

Bagaimanakah saya mengira selang masa dan tempoh purata antara rentetan masa dalam Python?

Susan Sarandon
Lepaskan: 2024-11-30 16:43:11
asal
674 orang telah melayarinya

How do I calculate time intervals and average durations between time strings in 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)
Salin selepas log masuk

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

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

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

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!

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