如何截断日期时间对象上的时间? [英] How to truncate the time on a datetime object?

查看:49
本文介绍了如何截断日期时间对象上的时间?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

截断 python datetime 对象的经典方法是什么?

在这种特殊情况下,直到今天.所以基本上将小时、分钟、秒和微秒设置为 0.

我希望输出也是一个 datetime 对象,而不是一个字符串.

解决方案

我认为这就是您要找的...

<预><代码>>>>导入日期时间>>>dt = datetime.datetime.now()>>>dt = dt.replace(hour=0, minute=0, second=0, microsecond=0) # 返回一个副本>>>dtdatetime.datetime(2011, 3, 29, 0, 0)

但如果你真的不关心事物的时间方面,那么你真的应该只传递 date 对象......

<预><代码>>>>d_truncated = datetime.date(dt.year, dt.month, dt.day)>>>d_截断datetime.date(2011, 3, 29)

What is a classy way to way truncate a python datetime object?

In this particular case, to the day. So basically setting hour, minute, seconds, and microseconds to 0.

I would like the output to also be a datetime object, not a string.

解决方案

I think this is what you're looking for...

>>> 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)

But if you really don't care about the time aspect of things, then you should really only be passing around date objects...

>>> d_truncated = datetime.date(dt.year, dt.month, dt.day)
>>> d_truncated
datetime.date(2011, 3, 29)

这篇关于如何截断日期时间对象上的时间?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆