在 Python 中,我的印象是 datetime.date
基本上只是 datetime.datetime
的一个子集,功能较少,开销也略低。我不想再使用 datetime.date
,原因如下:
两种类型之间不再进行转换!
,这使得在整个应用程序中推广时区处理变得更加困难/li>datetime.date
对象总是时区未知的,原因很明显。如果您有时使用datetime.date
有时使用datetime.datetime
我曾多次在不小心比较
datetime.date
对象和datetime.datetime
对象时遇到麻烦。始终只使用一种类型会使比较更简单。datetime.date
和datetime.datetime
之间的格式差异应该只是一个格式问题。将差异进一步深入底层类会给语言带来不必要的复杂性。如果我的判断是正确的,那么
datetime.date
最终将在未来的 Python 版本中被弃用,就像unicode
和long
已经。现在采用这个惯例让我走在了前面。
在我看来,继续使用 datetime.date
的唯一令人信服的论据是 datetime.datetime
中涉及的少量额外内存和存储。假设我不关心这个额外的开销。还有其他非常有说服力的理由继续使用这个类(class)吗?我不想切换到这个约定,然后因为错过了一些重要的事情而后悔。
最佳答案
它们代表不同的事物。
datetime
是一个特定的时间点。
日期
是一个时间间隔。那天不是 00:00:00,而是一整天。
这就是为什么你不能在它们之间直接转换的原因。这就是为什么不能使用 datetime
代替 date
的原因。
(两者使用相同的 timedelta
类型的事实可能是模块中的一个缺陷,已经讨论过几次,但我怀疑它是否会得到纠正。)
关于python - 我可以完全停止使用 datetime.date 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21034204/