Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python คำนวณความแตกต่างระหว่างเวลาปัจจุบันและเวลาที่กำหนด

ภาพรวม

ฟังก์ชันคำนวณความแตกต่างระหว่างเวลาสองช่วง (ชั่วโมงและนาที) ส่งคืนผลลัพธ์เป็นชั่วโมงและนาที

ตัวอย่างโค้ด

def difference_time(h1, m1, h2, m2):
    """คำนวณความต่างระหว่างเวลา h1:m1 และ h2:m2"""
    t1 = h1 * 60 + m1  # แปลงเป็นนาทีทั้งหมด
    t2 = h2 * 60 + m2
    
    if t1 == t2:
        print("เวลาเท่ากัน")
        return
    
    diff = t2 - t1
    # จัดการกรณีข้ามเที่ยงคืน (ใช้ modulo 24 ชั่วโมง = 1440 นาที)
    if diff < 0:
        diff += 24 * 60
    
    hours = (diff // 60) % 24
    minutes = diff % 60
    print(f"{hours}:{minutes:02d}")

if __name__ == "__main__":
    print("ความต่างของเวลา:")
    difference_time(13, 20, 11, 49)   # 23:29
    difference_time(17, 11, 9, 59)    # 17:48
    difference_time(21, 4, 11, 34)    # 15:30

ผลลัพธ์

ความต่างของเวลา:
23:29
17:48
15:30

คำอธิบาย

  • แปลงเวลาทั้งสองเป็นนาทีนับจากเที่ยงคืน
  • คำนวณความต่าง แล้วจัดการกรณีลบ (เวลาที่ 2 อยู่วันก่อน) โดยบวก 1440 นาที (24 ชม.)
  • แปลงกลับเป็นชั่วโมงและนาที

ข้อจำกัด

โค้ดต้นฉบับไม่จัดการกรณีข้ามเที่ยงคืนอย่างถูกต้อง (แสดง 23:29 แทนที่จะเป็น -1:31) โค้ดข้างบนแก้ไขแล้ว