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

โปรแกรมหาความต่างระหว่างสอง Timestamp ใน Python

สมมติว่าเรามีเวลาสองค่าในรูปแบบ "Day dd Mon yyyy hh:mm:ss +/-xxxx" โดย Day คือชื่อวัน 3 ตัวอักษรตัวแรกพิมพ์ใหญ่ Mon คือชื่อเดือน 3 ตัวอักษร และ + หรือ - xxxx แทนโซนเวลา เช่น +0530 หมายถึงมากกว่า GMT 5 ชั่วโมง 30 นาที เราต้องหาความต่างสัมบูรณ์ระหว่างสอง timestamp ในหน่วยวินาที

ใน Python เราใช้ไลบรารี datetime มีฟังก์ชัน strptime() แปลงสตริงวันที่เป็นอ็อบเจ็กต์ datetime รูปแบบ format specifiers:

  • %a: วัน 3 ตัวอักษร
  • %d: วันตัวเลข
  • %b: เดือน 3 ตัวอักษร
  • %Y: ปี 4 หลัก
  • %H: ชั่วโมง
  • %M: นาที
  • %S: วินาที
  • %z: โซนเวลา +/-xxxx

ตัวอย่างเช่น t1 = "Thu 15 Jul 2021 15:10:17 +0530" t2 = "Thu 15 Jul 2021 20:25:29 +0720" ผลลัพธ์ = 12312 วินาที

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

from datetime import datetime

def solve(t1, t2):
    t1 = datetime.strptime(t1, "%a %d %b %Y %H:%M:%S %z")
    t2 = datetime.strptime(t2, "%a %d %b %Y %H:%M:%S %z")
    return abs(int((t1-t2).total_seconds()))

t1 = "Thu 15 Jul 2021 15:10:17 +0530"
t2 = "Thu 15 Jul 2021 20:25:29 +0720"
print(solve(t1, t2))

อินพุต

"Thu 15 Jul 2021 15:10:17 +0530", "Thu 15 Jul 2021 20:25:29 +0720"

เอาต์พุต

12312