如何将日期时间转换为日期?

How to convert a datetime to a date?

我正在设计一个 class,它接受一个默认为今天的 date 参数。我知道 datetime.now() 给出了当前时间戳,但我无法找到将 datetime 实例转换为 date 的方法。显然我可以 date(datetime.now().year, datetime.now().month, datetime.now().day) 但这很丑陋,并且如果代码在一天、一个月或一年结束时运行,将创建我的 class.

的不一致实例

Python 3.x 仅供解决方案。

一个选项是使用静态方法。

@staticmethod
def _today():
    now: datetime = datetime.now()
    return date(now.year, now.month, now.day)

def __init__(self, start_date: date = _today(), bucket_size_hour: int = 1):
    pass

您可以尝试在日期时间对象的末尾添加 .date。像这样稍微调整一下您定义 datetime 的方式应该对您有用:

datetime = datetime.today().date()

输出:

2019-12-26