10分钟吃透Python Datetime,轻松掌控时间

在你的 Python 应用程序中,你可能想设置时间,以增加诸如时间戳的功能,检查用户活动的时间,等等。

在 Python 中帮助你处理日期和时间的模块之一是 datetime

使用 datetime 模块,你可以得到当前的日期和时间,或者某个特定时区的当前日期和时间。

在这篇文章中,我将向你展示如何在 Python 中用 datetime 模块获得当前时间。我还将告诉你如何获得世界上任何一个时区的当前时间。

如何用 datetime 模块获取当前时间

首先要做的是像这样导入 datetime 模块。

from datetime import datetime

接下来你可以做的是使用datetime模块中的 datetime.now() 函数来快速获得当前日期和时间。

from datetime import datetime

currentDateAndTime = datetime.now()

print("现在的时间", currentDateAndTime)
# Output: 现在的时间 2022-03-28 10:48:07.677951

要获得当前时间,你可以使用 strftime() 方法,并向其传递代表小时、分钟和秒的字符串 ”%H:%M:%S”

这将给你提供 24 小时格式的当前时间。

from datetime import datetime

currentDateAndTime = datetime.now()

print("现在的时间", currentDateAndTime)
# Output: 现在的时间 2022-03-28 10:49:39.197498

currentTime = currentDateAndTime.strftime("%H:%M:%S")
print("现在的时刻", currentTime)
# 现在的时刻 10:49:39

datetime.now() 函数属性

datetime.now 函数有几个属性,你可以通过它们获得当前日期的年、月、周、日、小时、分钟和秒。

下面的代码片段将所有的属性值打印到终端。

from datetime import datetime

currentDateAndTime = datetime.now()

print("年 ", currentDateAndTime.year)  # Output: 年  2022 
print("月 ", currentDateAndTime.month)  # Output: 月  3 
print("日 ", currentDateAndTime.day)  # Output: 日  28
print("小时 ", currentDateAndTime.hour)  # Output: 小时  10
print("分钟 ", currentDateAndTime.minute)  # Output: 分钟  51
print("秒 ", currentDateAndTime.second)  # Output: 秒  13

如何用datetime获取一个时区的当前时间

你可以通过使用 datetime 模块和另一个叫 pytz 的模块来获得某个特定时区的当前时间。

你可以像这样从 pip 中安装 pytz 模块: pip install pytz

首先你需要导入 datetimepytz 模块。

from datetime import datetime
import pytz

然后你可以用下面的片段检查所有可用的时区。

from datetime import datetime
import pytz

zones = pytz.all_timezones

print(zones)
# Output: ['Africa/Abidjan', 'Africa/Accra', ...] 所有的可用时区

在下面的代码片断中,我能够得到纽约的时间。

from datetime import datetime
import pytz

newYorkTz = pytz.timezone("America/New_York")
timeInNewYork = datetime.now(newYorkTz)
currentTimeInNewYork = timeInNewYork.strftime("%H:%M:%S")

print("纽约时间:", currentTimeInNewYork)
# Output: 纽约时间: 22:57:53

我是如何获得纽约的当前时间的呢?

我引入了 pytz 模块的 pytztimezone() 方法,将纽约的确切时区作为一个字符串传入其中,并将其分配给一个名为 newYorkTz
的变量(代表纽约时区)。

为了获得纽约的当前时间,我使用了 datetime 模块中的 datetime.now() 函数,并将我创建的用于存储纽约时区的变量传入其中。

为了最终得到 24 小时格式的纽约当前时间,我对 timeInNewYork 变量使用了 strftime() 方法,并将其存储在一个名为
currentTimeInNewYork 的变量中,这样我就可以将其打印到终端。

总结

如本文所示,datetime 模块在处理时间和日期方面非常方便,随后可以得到你所在地区的当前时间。

当与你可以从 pip 安装的 pytz 模块结合时,你也可以用它来获得世界上任何一个时区的当前时间。

谢谢你阅读本文。如果你觉得这篇文章对你有帮助,欢迎大家点赞、收藏、支持!。

pythontip 出品,Happy Coding!

公众号: 夸克编程

猜你喜欢

转载自blog.csdn.net/pythontip/article/details/124172905
今日推荐