我正在使用datetime
模块.我被告知24:00:00是一个ValueError,因为小时的范围是00到23.那么24小时时钟的结束时间是几点?
--------- ----------编辑
到目前为止,我更喜欢戈德的答案.虽然伊戈尔有一个非常实用的.
我的问题是datetime
模块的最后一次是什么.因为它具有微秒的分辨率.戈德的答案是最准确的.
获取第二天的开始并减去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
datetime
对象的分辨率为微秒,因此给定日期的最后可能时间值为23:59:59.999999。那是
小时:23
分钟:59
秒:59
微秒:999999
因此,如果您有一个datetime
,则可以使用replace方法将其设置为一天结束时:
import datetime now_datetime = datetime.datetime.now() end_of_day_datetime = now_datetime.replace(hour=23, minute=59, second=59, microsecond=999999)