截断python datetime
对象的最好方法是什么?
在这种特殊情况下,到今天为止。因此,基本上将小时、分钟、秒和微秒设置为0。
我希望输出也是一个datetime
对象,而不是字符串。
发布于 2011-03-30 01:00:58
我想这就是你要找的..。
>>> import datetime
>>> dt = datetime.datetime.now()
>>> dt = dt.replace(hour=0, minute=0, second=0, microsecond=0) # Returns a copy
>>> dt
datetime.datetime(2011, 3, 29, 0, 0)
但是如果你真的不关心时间方面的事情,那么你真的应该只传递date
对象……
>>> d_truncated = datetime.date(dt.year, dt.month, dt.day)
>>> d_truncated
datetime.date(2011, 3, 29)
发布于 2011-03-30 00:55:34
如果你不关心时间,那就使用date
,而不是datetime
。
>>> now = datetime.now()
>>> now.date()
datetime.date(2011, 3, 29)
您可以像这样更新日期时间:
>>> now.replace(minute=0, hour=0, second=0, microsecond=0)
datetime.datetime(2011, 3, 29, 0, 0)
发布于 2011-03-30 01:10:08
不能截断datetime对象,因为it is immutable。
但是,这里有一种方法可以构造一个新的日期时间,其中包含0小时、分钟、秒和微秒字段,而不会丢弃原始的日期或tzinfo:
newdatetime = now.replace(hour=0, minute=0, second=0, microsecond=0)
https://stackoverflow.com/questions/5476065
复制相似问题