有时,产品或基础设施工程师需要在位于世界各地的基础设施上工作。他们必须与位于美国、亚洲、欧洲和英国等地的机器合作。因此,时区对于 Python 来说更为重要。
随着当今编程语言的不断进步,几乎所有编程语言都维护了多个模块。Python 有一个名为 的时区包pytz
,可以实时进行跨平台时区计算。
安装 pytz 模块
首先,我们将导入pytz
模块的时区库。该pip
命令可用于安装该模块。
pip install pytz |
导入必要的模块
此外,我们需要从 DateTime 模块导入 DateTime。为了保持一致性,我们可以指定日期和时间输出的格式。
1
2
|
from pytz import timezone from datetime import datetime |
获取当前日期和时间
在此程序中,我们将格式指定为 YY-MM-DD HH:MM:SS。
执行代码时,我们将调用 DateTime 库的 now() 方法以指定格式获取当前时间。另一方面,输出时区格式将采用其 DateTime 对象格式。
因此,为了使其更具可读性,我们通过调用 strftime() 方法将其转换为字符串时间格式。
1
2
3
4
5
6
|
time_format = '%Y-%m%d %H:%M:%S %Z%z' default_now = datetime.now() formatted_now = datetime.now().strftime(time_format) print ( "Date Time in defaut format: " , default_now, '\n' ) print ( "Date Time in string format: " , formatted_now) |
Date Time in defaut format : 2021 - 11 - 22 09 : 26 : 40.054185 Date Time in string format : 2021 - 1122 09 : 26 : 40 |
将当前日期和时间转换为多个时区
现在我们将创建一个时区列表并循环遍历它,将当前时间转换为该时区。我们将包括美国、欧洲、亚洲的时区和标准 UTC。
1
2
3
4
5
|
timezones = [ 'US/Central' , 'Europe/London' , 'Asia/Kolkata' , 'Australia/Melbourne' , 'UTC' ] for tz in timezones: dateTime = datetime.now(timezone(tz)).strftime(time_format) print (f "Date Time in {tz} is {dateTime}" ) |
Date Time in US / Central is 2021 - 1122 03 : 27 : 58 CST - 0600 Date Time in Europe / London is 2021 - 1122 09 : 27 : 58 GMT + 0000 Date Time in Asia / Kolkata is 2021 - 1122 14 : 57 : 58 IST + 0530 Date Time in Australia / Melbourne is 2021 - 1122 20 : 27 : 58 AEDT + 1100 Date Time in UTC is 2021 - 1122 09 : 27 : 58 UTC + 0000 |
接下来,我们将循环遍历作为 DateTime 库的 now() 方法的参数创建的列表中的所有时区,以获取所有时区以及每个时区的当前时间。我们还将其转换为字符串格式以使其更易于阅读。
结论
恭喜!您刚刚学习了如何在 Python 中更改时区。希望你喜欢它!😇
喜欢该教程吗?无论如何,我建议您查看下面提到的教程:
感谢您抽出宝贵时间!希望你学到新东西!😄