Python程式:計算兩個時間戳之間的差值
假設我們有兩個時間戳,格式為“Day dd Mon yyyy hh:mm:ss +/-xxxx”,其中Day是三個字母的星期幾縮寫(首字母大寫),Mon是三個字母的月份縮寫,+/-xxxx表示時區,例如+0530表示比格林威治時間早5小時30分鐘(其他格式如dd、hh、mm、ss不言自明)。我們需要計算這兩個時間戳之間的絕對差值(以秒為單位)。
為了使用Python解決這個問題,我們將使用datetime庫。其中有一個名為strptime()的函式,它可以將字串格式的日期轉換為datetime物件。一些格式說明符如下:
- %a 表示三個字母的星期幾縮寫
- %d 表示數字格式的日期
- %b 表示三個字母的月份縮寫
- %Y 表示yyyy格式的年份
- %H 表示hh格式的小時
- %M 表示mm格式的分鐘
- %S 表示ss格式的秒
- %z 表示+/-xxxx格式的時區
因此,如果輸入類似於t1 = "Thu 15 Jul 2021 15:10:17 +0530" t2 = "Thu 15 Jul 2021 20:25:29 +0720",則輸出將為12312
為了解決這個問題,我們將遵循以下步驟:
- t1 := 將第一個時間戳從給定的字串轉換為上述格式
- t2 := 將第二個時間戳從給定的字串轉換為上述格式
- 返回t1和t2之間的差值(以秒為單位)
示例
讓我們看看下面的實現,以便更好地理解:
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
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP