如何在Python中获取或打印GMT时区的当前日期时间?

问题描述

在这里打印UTC时区的当前日期时间。我想通过这种方法的当前格林尼治标准时区的日期时间。我该怎么办?

   import datetime

   dt_utcNow = datetime.datetime.utcNow()
   print(dt_utcNow)

输出

   2020-08-31 09:06:26.661323

解决方法

您可以使用time模块的gmtime()实现此目的:

from datetime import datetime
from time import gmtime,strftime

now = datetime.now()
current_time = now.strftime("%H:%M:%S")
print("Current Time =",current_time)
print("Your Time Zone is GMT",strftime("%z",gmtime()))
,

首先,您需要导入pytz模块(需要使用CMD:pip install pytz安装它)。 Pytz库允许您使用时区。

为使代码清晰,我们将时区保存到变量GMT中,如下所示:

GMT = pytz.timezone("Etc/GMT")

如果您现在想要所有可能的时区,则只需打印出pytz.all_timezones。现在,有几种方法可以解决您的问题,但我将向您展示其中两种:

  1. 将您的UTC时间本地化为格林尼治标准时间:dt_gmt = GMT.localize(dt_utcnow)

  2. 将您的时间转换为GMT:dt_gmt = dt_utcnow.astimezone(gmt)