当我们创建一个允许世界各地的用户预订活动的 Web 服务时,我们可能会使用此程序将每个用户的当地时间转换为 GMT,然后再将其放入数据库中。这将使不同时区的用户更容易比较和显示事件时间。不同时区的用户更容易比较和显示事件时间。在 Python 中,我们有一些内置的时间函数,如 timezone()、localize()、now() 和 astimezone(),可用于将本地时间转换为 GMT。当地时间代表当前时间,而 GMT 是通过计算本初子午线定义的。 GMT 代表格林威治标准时间,但现在称为 UTC(协调世界时)。这个时间也称为 Z 时间或祖鲁时间。
示例中使用以下语法 -
now()
这是 Python 中使用的预定义方法,它返回不带任何时区的本地时间。
timezone()
timezone()方法用于表示特定国家或地区的时区。该方法使用了名为 pytz 的模块。
localize()
当需要创建日期时间时,使用 localize() 方法。名为 pytz 的模块有助于运行这个内置函数。
astimezone()
此方法用作对象并传递新时区作为参数。
strftime()
这是Python中的内置方法,可用于将日期转换为字符串。因此,用户可以轻松了解它到底是什么。
utc.to().to()
这是 arrow 模块的内置方法,可用于两种不同的时间转换。
tz_convert()
此方法用于将一个时区转换为另一个时区。
tz_locallize()
这也是一个内置方法,将用于定位时区。
在下面的示例中,我们将通过从名为 datetime 的模块导入 datetime 的所有内容来启动程序,该模块将查找本地时间。然后我们将从名为 pytz 的模块导入时区和 utc 的所有内容,该模块将查找 GMT 时间。然后将预定义方法timezone()存储在变量ltz中。 timezone() 方法通过采用任何国家/地区的时区来接受参数。接下来,将 utc 存储在变量 time2 中,该变量将用于计算 GMT 时区。继续使用预定义方法 localize() 和 astimezone() 查找当地时间。这两个方法充当带有变量ltz的对象,并将其存储在变量temp2中。最后,我们借助变量 time1 和 temp2 将本地时间结果打印为 GMT。
from datetime import datetime from pytz import timezone,utc #local time time1 = datetime.now() #local timezone ltz = timezone( 'Asia/Kolkata' ) # GMT time2 = utc #Covert the local time into GMT time2 = ltz.localize( time1 ).astimezone( time2 ) print( "The current local time:", time1 ) print( "After conversion into GMT" ) print( "The current GMT:", time2 )
The current local time: 2023-04-18 13:02:05.289406 After conversion into GMT The current GMT: 2023-04-18 07:32:05.289406+00:00
在下面的示例中,我们将通过导入名为 datetime 和 pytz 的模块来启动程序。然后初始化表示本地时间的变量l_time,并使用预定义函数datetime.now()存储当前日期和时间的值。然后timezone()方法接受参数传递GMT时区。此方法充当名为 pytz 的模块的对象,存储在变量 g_timezone 中。接下来,预定义函数 astimezone() 接受参数作为变量 g_timezone。该方法充当变量名为l_time的对象,将本地时间转换为GMT并将其存储在变量g_time中。最后,我们借助变量 g_time 打印结果。
import datetime import pytz #initialize the local time l_time = datetime.datetime.now() #Conversion of loctime - GMT g_timezone = pytz.timezone( 'GMT' ) g_time = l_time.astimezone( g_timezone ) # Print the GMT print( "The local time converts into GMT:\n", g_time )
The local time converts into GMT: 2023-04-18 08:13:08.274818+00:00
在下面的示例中,我们将通过从名为 datetime 的模块导入 datetime 的所有内容来启动程序,这将有助于将本地时间转换为 GMT 时间。然后导入将用于设置两个时间引用的时间的时间模块。然后使用内置方法strftime()初始化存储值的两个变量l_time和g_time,并找到各自变量的本地时间和GMT时间。
from datetime import datetime import time l_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) print(f'Local time: {l_time}') g_time = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime()) print(f'GMT time: {g_time}')
Local time: 2023-05-07 12:50:47 GMT time: 2023-05-07 12:50:47
在下面的示例中,我们将首先安装名为pip install arrow的命令,该命令允许用户运行基于arrow模块的程序。然后通过导入名为arrow的模块的程序来启动程序。接下来,使用内置方法 utcnow() 作为 arrow 模块的对象并将其存储在变量 utc 中。 GMT 的另一个名称是 UTC。继续使用内置方法 utc.to().to() 将本地时间打印为 GMT,该方法接受两个参数 - local 和 utc 来显示时间转换。
import arrow utc = arrow.utcnow() print("\nlocal to utc:") print(utc.to('local').to('utc'))
local to utc: 2023-05-10T11:15:37.548334+00:00
在下面的示例中,通过导入名为 pandas 的模块并以对象 pd 作为引用来开始程序。然后从 datetime 类导入模块 datetime。接下来,使用内置方法 datetime() 存储日期和时间,该方法接受六个参数,即年、月、日、小时、分钟和秒,并将其存储在变量 local_time 中。然后使用内置方法 Timestamp 接受名为 local_time 的参数,该参数转换计算机记录的当前时间和事件。开始初始化名为 local_tz 的变量,该变量通过替换本地时区来存储值。要将本地化时间戳转换为 GMT,它将值初始化为 GMT 并将它们存储在变量 gmt_tz 中(tz 是时区的缩写)。然后使用内置方法 tz_convert() ,它充当带有时间戳的对象,接受名为 gmt_tz 的参数,这有助于将时间转换为不同的模式并存储它在变量gmt_timestamp中。最后,使用 print 函数并传递名为 gmt_timestamp 的参数来获取结果。
import pandas as pd from datetime import datetime local_time = datetime(2023, 5, 10, 17, 22, 0) timestamp = pd.Timestamp(local_time) local_tz = 'asia/kolkata' # replace with your local timezone local_timestamp = timestamp.tz_localize(local_tz) gmt_tz = 'GMT' gmt_timestamp = local_timestamp.tz_convert(gmt_tz) print(gmt_timestamp)
2023-05-10 11:52:00+00:00
以上两个输出显示了 GMT 与当前日期的结果。我们看到了内置函数如何帮助将本地时间的时区转换为 GMT。 timezone() 方法接受定义本初子午线的 GMT 参数。 astimezone() 接受参数作为时区并生成结果。
以上是将以下内容翻译为中文:Python程序将本地时间转换为GMT时间的详细内容。更多信息请关注PHP中文网其他相关文章!