Python程序找出两个时间戳之间的差异
假设我们有两次格式为“DayddMonyyyyhh:mm:ss+/-xxxx”,其中Day是三个字母的日期,其首字母大写。Mon是三个字母的月份名称,最后是+或-xxxx表示时区,例如+0530表示比GMT多5小时30分钟(其他格式如dd、hh、mm、ss不言自明)。我们必须以秒为单位找到两个时间戳之间的绝对差异。
为了使用python解决这个问题,我们将使用datetime库。有一个名为strptime()this的函数将字符串格式的日期转换为日期时间对象。像下面这样的格式说明符很少-
%a以三字母格式表示日期
%d以数字格式表示日期
%b以三字母格式表示月份
%Y以yyyy格式表示年份
%H以hh格式表示小时
%M以mm格式表示分钟
%S表示ss格式的秒数
%z表示+/-xxxx格式的时区
因此,如果输入类似于t1="Thu15Jul202115:10:17+0530"t2="Thu15Jul202120: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