python 根据字符串时间获取时间差 根据时间戳获取时间差

痛定思痛。 2023-06-28 08:40 53阅读 0赞

welcome to my blog

问题描述: 需要根据两个时间戳获取时间差; 需要根据两个字符串时间获取时间差

解决方法:

根据字符串时间获取时间差

  1. from datetime import datetime
  2. # 字符串格式的时间
  3. t1 = "2019-08-09 10:16:31"
  4. # 将时间转成datetime.datetime类
  5. t1 = datetime.strptime(t1, "%Y-%m-%d %H:%M:%S")
  6. # 字符串格式的时间
  7. t2 = "2020-05-10 22:05:11"
  8. # 将时间转成datetime.datetime类
  9. t2 = datetime.strptime(t2, "%Y-%m-%d %H:%M:%S")
  10. # 打印时间差: 275 days, 11:48:40, 说明这两个时间相差275天11小时48分40秒
  11. print(t2 - t1)

根据两个时间戳获取时间差

  1. # 两个时间戳作差的结果就是两个时间相差的秒数
  2. t1 = 1578450008.7148416
  3. t2 = 1578450934.7338912
  4. # 打印结果: 926.0190496444702
  5. print(t2 - t1)

上面的方法有个不足, 因为秒这个单位还不够直观, 最好能转成小时和分钟, 为了达成这个目的, 可以自己手动实现, 也可以利用现成的工具, 我选择现成的工具, 如datetime模块, 下面举个例子

  1. import time
  2. from datetime import datetime
  3. # 时间戳
  4. t1 = 1336651555
  5. # 提取时间戳中年月日等信息, 保存在time.struct_time对象中
  6. t1 = time.localtime(t1)
  7. # 将time.struct_time对象中的信息转成字符串格式
  8. t1 = time.strftime("%Y-%m-%d %H:%M:%S", t1)
  9. # 将字符串格式的时间转成datetime.datetime类
  10. t1 = datetime.strptime(t1, "%Y-%m-%d %H:%M:%S")
  11. # 时间戳
  12. t2 = 1578450008.7148416
  13. # 提取时间戳中年月日等信息, 保存在time.struct_time对象中
  14. t2 = time.localtime(t2)
  15. # 将time.struct_time对象中的信息转成字符串格式
  16. t2 = time.strftime("%Y-%m-%d %H:%M:%S", t2)
  17. # 将字符串格式的时间转成datetime.datetime类
  18. t2 = datetime.strptime(t2, "%Y-%m-%d %H:%M:%S")
  19. # 打印时间差: 2798 days, 14:14:13, 说明这两个时间相差2798天14小时14分13秒
  20. print(t2 - t1)

发表评论

表情:
评论列表 (有 0 条评论,53人围观)

还没有评论,来说两句吧...

相关阅读