如何解决使用 datetime python 计算日期差异
示例代码:
from datetime import datetime,date
from dateutil.relativedelta import relativedelta
import time
timestamp = 1620013967000
cunix = int(time.time())
ounix = timestamp / 1000
outc_time = datetime.utcfromtimestamp(ounix)
cutc_time = datetime.utcfromtimestamp(cunix)
#time_diff = cutc_time - outc_time
if condition == met:
if(outc_time + relativedelta(months=+6) - cutc_time) >= 1: # This doesn't work but I'm trying to give an idea of what I would like to accomplish.
do_stuff()
我当前使用这些变量获得的输出示例:
143 days,6:53:04
162 days,11:42:26
122 days,19:31:56
131 days,20:38:03
6 days,21:03:03
12 days,3:41:45
159 days,5:48:15
159 days,14:37:54
50 days,0:04:41
153 days,13:43:03
基本上我想要的是一个关于如何创建一个条件的想法,只有当天差等于或小于 1 时它才会继续。我目前对如何做有点迷茫。任何帮助表示赞赏。
解决方法
尝试使用 timedelta
:
from datetime import datetime,timedelta
import time
timestamp = 1620013967000
cunix = int(time.time())
ounix = timestamp / 1000
outc_time = datetime.utcfromtimestamp(ounix)
cutc_time = datetime.utcfromtimestamp(cunix)
diff = cutc_time - outc_time
if diff >= timedelta(days=1):
print("hey")
正如@Blckknght 指出的,您说小于或等于 1,但您的代码使用大于。无论哪种方式,只需更改上面 if
语句中的符号。
另外,您的代码是否需要 utc?对于此示例,utcfromtimestamp
可以替换为 fromtimestamp
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。