當我們建立一個允許世界各地的使用者預訂活動的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中文網其他相關文章!