我正在使用datetime
模块。我被告知24:00:00是一个ValueError
因为小时的范围从00到23.那么现在是什么时候结束
24小时钟的那天?
--------- ----------已编辑
到目前为止,我更喜欢戈德的回答。虽然伊戈尔有一个非常实用的。
我的问题是datetime
模块的最后一次。因为它具有微秒的分辨率。戈德的答案是最准确的。
答案 0 :(得分:5)
获取第二天的开始并减去1微秒:
import datetime
source_datetime = datetime.datetime.now()
eod = datetime.datetime(
year=source_datetime.year,
month=source_datetime.month,
day=source_datetime.day
) + datetime.timedelta(days=1, microseconds=-1)
print(eod) # 2016-01-04 23:59:59.999999
答案 1 :(得分:4)
datetime
个对象的分辨率为微秒,因此给定日期的最后一个可能时间值为23:59:59.999999。那是
小时:23
分钟:59
秒:59
微秒:999999
因此,如果您有datetime
,可以使用替换方法将其设置为当天结束:
import datetime
now_datetime = datetime.datetime.now()
end_of_day_datetime = now_datetime.replace(hour=23, minute=59, second=59, microsecond=999999)
答案 2 :(得分:1)
练习中没有24:00:00。 23:59:59之后有0:00:00