我想计算从现在到明天12:00之间的秒数。所以我需要明天12点datetime
对象。
这是伪代码:
today_time = datetime.datetime.now()
tomorrow = today_time + datetime.timedelta(days = 1)
tomorrow.hour = 12
result = (tomorrow-today_time).total_seconds()
但它会引发这个错误:
AttributeError: attribute 'hour' of 'datetime.datetime' objects is not writable
如何修改小时或如何获得明天的12:00 datetime
对象?
答案 0 :(得分:55)
使用replace
method根据您现有的对象生成新的datetime
对象:
tomorrow = tomorrow.replace(hour=12)
返回具有相同属性的日期时间,但通过指定的任何关键字参数给定新值的属性除外。请注意,可以指定
tzinfo=None
从感知日期时间创建天真的日期时间,而不转换日期和时间数据。
答案 1 :(得分:3)
试试这个:
tomorrow = datetime.datetime(tomorrow.year, tomorrow.month, tomorrow.day, 12, 0, 0)