在本文中,让我们尝试了解如何使用不同的 Python 编程语言模块将 UTC(协调世界时)转换为 EST(东部标准时间)。我们还将找到有关如何照顾 c 的解决方案。夏令时通常被称为“夏令时”,该系统在夏季的正常醒着时间里不断提前时钟以延长日照时间。
在北半球国家,时钟通常在三月底或四月初向前拨一小时,在九月底或十月初向后拨一小时。
在 Python 中,可以使用 datetime 和 pytz 模块将 UTC 转换为 EST。导入这两个模块,创建一个将日期时间对象作为输入的函数,并使用 astimezone() 方法对其进行转换。pytz模块考虑夏令时,使得转换准确。
用于 UTC 到 EST 转换的 Python 模块
1. Datetime 模块: Python 包含一个 DateTime 模块,可让您与日期和时间进行交互。DateTime 不是 Python 中的基本数据类型,而是一个集成模块。要与日期作为日期对象进行交互,我们只需导入上面指定的模块即可。该类的属性与日期类和不同类的属性相当。日、月、年、分、秒、微秒、小时和 tzinfo 是其中一些属性。要了解有关日期时间模块的更多信息,请单击此处。
2. Pytz模块:使用Python 2.4或以上版本,该模块可以实现精确的跨平台时区转换。它还消除了夏令时造成的混乱。Olson 时区数据库在pytz python 模块的帮助下引入 Python。
Python中UTC到EST转换的实现
在我们开始创建解决方案函数之前,请确保在当前工作的 python IDE 中安装并导入上述两个 python 模块。为此,请运行以下命令
#installing pytz module pip install pytz #importing both the modules import datetime import pytz |
接下来,我们创建一个将日期时间对象作为输入参数的函数。为了提及日期时间对象的时区等必要信息,我们将添加tzinfo=pytz.utc
到日期时间对象中。如果输入参数是使用 获得的datetime.datetime.now()
,那么我们将传递tz=pytz.utc
它。
要检索指定时区代码的时区详细信息,我们在函数中使用 pytz 模块的 pytz.timezome() 方法。
- 根据季节,这种方法还会自动调整夏令时。
- 由于 Python 对夏令时 (DST) 的支持比 EST 更好,因此通常建议使用美国/东部时间而不是 EST 作为时区标识符。
- 最后但并非最不重要的一点是,可以使用 astimezone() 方法将时区感知的日期时间对象从一个时区转换为另一个时区。在返回函数的输出之前,我们将对象从 UTC 转换为 EST。
下面是上述函数的代码
import datetime import pytz time = datetime.datetime( 2020 , 10 , 8 , 7 , 6 , 0 , tzinfo = pytz.utc) def convert_utc_to_est(utc_time): #fetch the timezone information est = pytz.timezone( 'US/Eastern' ) #convert utc to est est_time = utc_time.astimezone(est) #return the converted value return est_time est_time = convert_utc_to_est(time) #print in year-month-day-hour-minutes-secods format print ( 'UTC time: ' , time.strftime( '%Y-%m-%d %H:%M:%S' )) print ( 'EST time: ' , est_time.strftime( '%Y-%m-%d %H:%M:%S' )) |
输出
在上面的代码中,指定的日期时间对象作为参数传递给函数。我们还尝试使用 datetime.datetime.now() 方法传递 datetime 对象。功能和整个过程保持不变。唯一的区别是我们添加了额外的tz=pytz.utc
而不是tzinfo=pytz.utc
. 下面是相同的输出
结论
使用Python的datetime和pytz模块,我们可以轻松地将UTC时间转换为EST时间,同时还考虑夏令时。Python 的多功能性和内置模块使日期和时间的处理更加高效和简化。
要阅读更多与Python编程语言相关的各种主题的详细且易于理解的文章,请点击这里!