如何检查datetime.datetime类型的时间戳是否为一天的起始时刻?
检查datetime.datetime是否为一天的起始时刻
要判断一个datetime.datetime对象是否指向当日的00:00:00.000000,有几种简洁高效的方法:
方法一:对比时间部分与最小时间对象
datetime.time.min代表一天的起始时刻(00:00:00.000000),直接提取目标对象的时间部分进行对比即可:
import datetime def is_day_start(dt): return dt.time() == datetime.time.min
方法二:重置时间后与原对象对比
将目标datetime的时分秒微秒都重置为0,再和原对象比较是否相等:
import datetime def is_day_start(dt): return dt == dt.replace(hour=0, minute=0, second=0, microsecond=0)
方法三:计算与当日0点的时间差
通过计算目标时间和当日0点的时间差总秒数是否为0来判断:
import datetime def is_day_start(dt): day_start = dt.replace(hour=0, minute=0, second=0, microsecond=0) return (dt - day_start).total_seconds() == 0
注意事项
如果使用带时区的datetime对象(包含tzinfo属性),上述方法依然有效,只需确保所有时间操作都在同一时区下进行即可。
内容的提问来源于stack exchange,提问作者James
相关产品推荐
相关产品推荐

