用于查找两个时间戳之间的差异的 Python 程序

pythonserver side programmingprogramming更新于 2025/12/21 15:40:17

假设我们有两个时间,格式为"Day dd Mon yyyy hh:mm:ss +/-xxxx",其中 Day 是三个字母的日期,首字母大写。Mon 是三个字母的月份名称,最后 + 或 - xxxx 代表时区,例如 +0530 表示比 GMT 早 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

相关文章


有用资源