首页 > 后端开发 > Python教程 > 如何有效地确定两个 Python'datetime”对象之间是否已经过了 24 小时?

如何有效地确定两个 Python'datetime”对象之间是否已经过了 24 小时?

Mary-Kate Olsen
发布: 2024-12-06 17:20:14
原创
1043 人浏览过

How Can I Efficiently Determine if 24 Hours Have Passed Between Two Python `datetime` Objects?

计算时差以确定是否已过去 24 小时

该任务涉及确定存储在中的两个日期或时间之间是否已过去 24 小时日期时间对象。这是Python中的解决方案:

使用朴素日期时间对象

如果日期时间对象表示朴素时间(没有时区信息):

from datetime import datetime, timedelta

if (datetime.utcnow() - last_updated) > timedelta(hours=24):
    # More than 24 hours passed since last_updated
登录后复制

使用当地时间对象

如果last_updated代表本地时间:

import time

DAY = 86400
now = time.time()
then = time.mktime(last_updated.timetuple())
if (now - then) > DAY:
    # More than 24 hours passed since last_updated
登录后复制

使用tzlocal模块(推荐)

from datetime import datetime, timedelta
from tzlocal import get_localzone

tz = get_localzone()
then = tz.normalize(tz.localize(last_updated))
now = datetime.now(tz)
if (now - then) > timedelta(hours=24):
    # More than 24 hours passed since last_updated
登录后复制

此方法处理案例时区可能已更改或夏令时 (DST) 偏移已更改的地方

注释:

  • 如果last_updated是一个感知日期时间对象(带有时区信息),则在比较之前减去UTC偏移量。
  • 使用 UTC 时间可以最大限度地减少时区问题,并且通常建议使用。

以上是如何有效地确定两个 Python'datetime”对象之间是否已经过了 24 小时?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板