python函数`datetime.now()`和`datetime.today()`有什么区别?

sre*_*nth 27 python datetime

python函数datetime.now()和有datetime.today()什么区别?

在[1]中:从datetime导入日期时间

在[2]中:datetime.now()

Out [2]:datetime.datetime(2015,9,11,12,5,28,909842)

在[3]中:datetime.today()

Out [3]:datetime.datetime(2015,9,11,12,8,45,175839)

提前致谢.

Tev*_*K O 20

datetime.datetime.now()将tzinfo作为关键字参数,但datetime.today()不接受任何关键字参数.

默认情况下,now()使用datetime.datetime.now执行(tz = None)

正如文档中引用的那样:https://docs.python.org/3.6/library/datetime.html#datetime.datetime.now

datetime.now()返回当前的本地日期和时间.如果可选参数tz为None或未指定,则类似于today(),但是,如果可能,提供的精度高于通过time.time()时间戳获得的精度(例如,这可能在提供的平台上有效) C gettimeofday()函数).

  • 顺便说一句,为了指定 ET 时区,我使用 `import datetime.datetime, pytz; datetime.datetime.now(tz=pytz.timezone('美国/东部'))`。更多详细信息[此处](https://pythonhosted.org/pytz/)。 (4认同)
  • FWIW,看起来 `now()` 比 `today()` 更快。在我的机器上,“now()”平均为 213 ns,而“today()”平均为 653 ns。这可能微不足道,也可能不重要,具体取决于您在做什么。 (2认同)

Eri*_*ric 8

请参阅文档datetime.todaydatetime.now,特别是这部分从后者链接:

如果可选参数tz为None或未指定,则类似于today(),但是,如果可能,提供的精度高于通过time.time()时间戳获得的精度(例如,这可能在提供的平台上有效) C gettimeofday()函数).

因此在您的示例中,两者都是相同的,尽管特定平台可以提供更高的精度datetime.now.


She*_*hep 5

请参阅文档now()提供了一个可选的时区,并且可以给出更高的精度。