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

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程