前段時間,出現了這個帖子,詢問如何使用Python更改系統日期和時間。Amir 在那個帖子上的回答對我有用,我可以使用他的相同腳本將我的計算機日期和時間更改為我想要的任何我想要的顯示在我的螢屏右下角。但是,我現在正在嘗試創建第二個稍加修改的腳本,以將日期和時間實時重置為應有的值。所以這個想法是,我可以執行一個腳本,然后更改我的系統日期和時間。然后,我執行第二個腳本并將系統日期和時間實時重置為它“應該是”的值,就像我運行第一個腳本之前一樣。到目前為止,我一直無法弄清楚。在 Amir 的腳本中,使用了以下代碼;
time_tuple = (2012, # Year
9, # Month
6, # Day
0, # Hour
38, # Minute
0, # Second
0, # Millisecond
)
我想我可以通過簡單地進行以下修改來完成這項作業;
import time
time_tuple = time.gmtime()[0:7]
<time.gmtime()[0:7]> 假設有一個包含當前真實時間的元組。我使用 [0:7] 來匹配原始元組中的七個值。但是當我運行此代碼時,它不會將我的計算機系統日期和時間重置為實時。(當我洗掉 [0:7] 時它沒有幫助。)有沒有人知道在這里有用的東西?
uj5u.com熱心網友回復:
非常感謝@Greg Hewgill 提供的資訊。如果有人感興趣,我可以使用以下方法解決上述問題。我從http://worldtimeapi.org/獲得了 API 資訊。我構建的元組代碼是;
import requests
timeapi = requests.get("http://worldtimeapi.org/api/timezone/Etc/GMT")
tuple_info = timeapi.json()['datetime']
year = int(tuple_info[0:4])
month = int(tuple_info[5:7])
day = int(tuple_info[8:10])
hour = int(tuple_info[11:13])
minute = int(tuple_info[14:16])
second= int(tuple_info[17:19])
millisecond = 0
api_tuple = (year,month,day,hour,minute,second,millisecond)
uj5u.com熱心網友回復:
更改系統時間后,您的計算機只知道新的時間。它不會“記住”原始時間,所以這time.gmtime()也是回傳新時間的原因。
為了讓您的計算機再次了解現實世界的時間,輸入必須來自您計算機之外的某個地方。您可以手動輸入當前時間,也可以撰寫腳本來呼叫某個時間 API 服務。我通過搜索“time api”找到了幾個免費可用的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/366051.html
