python - 我可以完全停止使用 datetime.date 吗?

标签 python date datetime

在 Python 中,我的印象是 datetime.date 基本上只是 datetime.datetime 的一个子集,功能较少,开销也略低。我不想再使用 datetime.date,原因如下:

  • 两种类型之间不再进行转换!

  • datetime.date 对象总是时区未知的,原因很明显。如果您有时使用 datetime.date 有时使用 datetime.datetime

    ,这使得在整个应用程序中推广时区处理变得更加困难/li>
  • 我曾多次在不小心比较 datetime.date 对象和 datetime.datetime 对象时遇到麻烦。始终只使用一种类型会使比较更简单。

  • datetime.datedatetime.datetime 之间的格式差异应该只是一个格式问题。将差异进一步深入底层类会给语言带来不必要的复杂性。

  • 如果我的判断是正确的,那么 datetime.date 最终将在未来的 Python 版本中被弃用,就像 unicodelong 已经。现在采用这个惯例让我走在了前面。

在我看来,继续使用 datetime.date 的唯一令人信服的论据是 datetime.datetime 中涉及的少量额外内存和存储。假设我不关心这个额外的开销。还有其他非常有说服力的理由继续使用这个类(class)吗?我不想切换到这个约定,然后因为错过了一些重要的事情而后悔。

最佳答案

它们代表不同的事物。

datetime 是一个特定的时间点。

日期 是一个时间间隔。那天不是 00:00:00,而是一整天

这就是为什么你不能在它们之间直接转换的原因。这就是为什么不能使用 datetime 代替 date 的原因。

(两者使用相同的 timedelta 类型的事实可能是模块中的一个缺陷,已经讨论过几次,但我怀疑它是否会得到纠正。)

关于python - 我可以完全停止使用 datetime.date 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21034204/

相关文章:

python - 尝试使用 requests-html 抓取 JS Web 时出现问题(Python 3.6)

MYSQL 日期减法

python - 如何将 pandas.to_datetime 与 "strange"字符串格式一起使用

javascript - 获取下周的星期一和星期五

sql - 选择带有日期条件的查询

python - 多重预测

python - 使用 Numpy datetime64 对象索引/切片 Pandas DataFrame

python - 我们可以将小写字符增加一个吗

python - 构建包含 c 库 (pytidylib) 的 Python Wheel

python - Python:将传感器数据转换为连续的调频音频