脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - 解决python 两个时间戳相减出现结果错误的问题

解决python 两个时间戳相减出现结果错误的问题

2021-09-22 00:02gejiaming Python

这篇文章主要介绍了解决python 两个时间戳相减出现结果错误的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

如下所示:

解决python 两个时间戳相减出现结果错误的问题

两个时间相差一整天,结果却是相差时间为零 !!!!

这里是使用错误, .seconds只会计算 小时分钟秒 部分之间的差值

在这里使用total_seconds() 才是计算两个时间戳之间的相差时间

解决python 两个时间戳相减出现结果错误的问题

补充:Python 时间字符串、时间戳之间的转换,时间的加减

1、字符串转时间戳

  1. import time
  2. str_time = "20200713203740"
  3. time_temp = time.strptime(str_time, "%Y%m%d%H%M%S") # 字符串格式化成时间格式
  4. time_stamp = time.mktime(time_temp) # 格式化后的时间转换成时间戳
  5.  
  6. print(time_temp)
  7. print(time_stamp)

结果如下:

time.struct_time(tm_year=2020, tm_mon=7, tm_mday=13, tm_hour=20, tm_min=37, tm_sec=40, tm_wday=0, tm_yday=195, tm_isdst=-1) 1594643860.0

2、时间戳转时间字符串

  1. from datetime import datetime
  2. x = 1594643860
  3. y_m_d = datetime.fromtimestamp(x).strftime('%Y%m%d')
  4. h_s_m = datetime.fromtimestamp(x).strftime('%H:%S:%M')
  5. print(y_m_d)
  6. print(h_s_m)

20200713

20:40:37

3、时间加天数

  1. import datetime
  2. # 将时间字符串转换成格式化的时间格式
  3. time = "20190617 00:00:00"
  4. time = datetime.datetime.strptime(time, "%Y%m%d %H:%M:%S")
  5.  
  6. # 在原来的时间上加6天
  7. time = time + datetime.timedelta(days=6)
  8. print(time)
  9.  
  10. # 将格式化的时间格式,转换成时间字符串
  11. timestr = datetime.datetime.strftime(time, "%Y%m%d %H:%M:%S")
  12. print(timestr)

2019-06-23 00:00:00

20190623 00:00:00

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

原文链接:https://blog.csdn.net/gejiaming/article/details/101123245

延伸 · 阅读

精彩推荐