编程学习网 > 编程语言 > Python > Python教程:10分钟吃透Python Datetime,轻松掌控时间!
2024
02-03

Python教程:10分钟吃透Python Datetime,轻松掌控时间!

Python中提供了多个用于对日期和时间进行操作的内置模块:time模块、datetime模块和calendar模块。其中time模块是通过调用C库实现的,所以有些方法在某些平台上可能无法调用,但是其提供的大部分接口与C标准库time.h基本一致。time模块相比,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

首先你需要导入 datetime 和 pytz 模块。

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 模块结合时,你也可以用它来获得世界上任何一个时区的当前时间。

以上就是Python教程:10分钟吃透Python Datetime,轻松掌控时间!的详细内容,想要了解更多Python教程欢迎持续关注编程学习网。

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取