在 Python 中获取当前时间是许多与时间有关的操作的一个很好的起点。一个非常重要的用例是创建时间戳。在本教程中,你将学习如何用 datetime 模块获取、显示和格式化当前时间。
我们将学习如何读取当前时间的属性,如年份、分钟或秒。为了使时间更容易阅读,将探索打印时间的选项。我们还将了解不同的时间格式,学习计算机如何表示时间,如何将时间序列化,以及如何处理时区问题。
如何在Python中获取时间
获取和打印当前时间最直接的方法是使用 datetime 模块中 datetime 类的 .now()
方法。
>>> from datetime import datetime
>>> now = datetime.now()
>>> now
datetime(2022, 11, 22, 14, 31, 59, 331225)
>>> print(now)
2022-11-22 14:31:59.331225
类方法 .now()
是一个构造方法,返回一个日期时间对象。当REPL评估now变量时,你会得到一个日期时间对象的表示。要知道每个数字的含义可能相当困难。但是如果明确地打印now变量,那么你会得到一个稍微不同的输出,它以熟悉的时间戳格式呈现信息。
你可能会认识到打印的datetime对象的格式。它严格遵循国际标准,即ISO 8601,用于格式化时间和日期。你会在很多地方发现这种格式!
不过,在 Python 使用的格式中,与 ISO 8601 标准有一点偏差。标准规定,时间戳的日期和小时部分应该用T字符分开,但是通过 print()
函数传递的默认日期对象用一个空格将它们分开。
Python 是可扩展的和可定制的,它使你能够定制打印时间戳的格式。在打印时,datetime类内部使用它的 .isoformat()
方法。由于 .isoformat()
只是一个实例方法,你可以从任何日期时间对象中直接调用它来定制ISO时间戳。
>>> datetime.now().isoformat()
'2022-11-22T14:31:59.331225'
>>> datetime.now().isoformat(sep=" ")
'2022-1