我有一个接受日期的函数,并返回当时和当前时间之间的时间差(以秒为单位).它适用于不到一天的所有事情.但是当我甚至输入一个未来一年的日期时,它仍会返回大约84,000秒的数字(一天大约有86,400秒).
def calc_time(date):
future_date = str(date)
t_now = str(datetime.utcnow())
t1 = datetime.strptime(t_now, "%Y-%m-%d %H:%M:%S.%f")
t2 = datetime.strptime(future_date, "%Y-%m-%d %H:%M:%S.%f")
return ((t2-t1).seconds)
Run Code Online (Sandbox Code Playgroud)
即使我使用日期为2014年的参数运行它,我的数字太低了.
有人有任何见解吗?
阅读datetime.timedelta文档.
所有参数都是可选的,默认为0.参数可以是整数,长整数或浮点数,也可以是正数或负数.
内部只存储了几天,几秒和几微秒.参数转换为这些单位:
毫秒转换为1000微秒.一分钟转换为60秒.一小时转换为3600秒.一周转换为7天.然后将天,秒和微秒标准化,以使表示具有唯一性
0 <=微秒<1000000 0 <=秒<3600*24(一天中的秒数)-999999999 <=天数<= 999999999
解决方案是使用.total_seconds()而不是.seconds
| 归档时间: |
|
| 查看次数: |
2302 次 |
| 最近记录: |