簡單時鐘 ( 世界時間 )
這篇教學會使用 Python 的 datetime 標準函式庫進行時間與時區的換算,搭配 print() 方法,實作一個可以顯示世界時間的時鐘。
本篇使用的 Python 版本為 3.7.12,所有範例可使用 Google Colab 實作,不用安裝任何軟體 ( 參考:使用 Google Colab )
每秒更新並顯示時間
參考「datetime」文章,載入 datetime 函式庫之後,使用 now() 方法搭配 strftime 進行時間格式化,就能得到「時:分:秒」的時間。
import datetime
now = datetime.datetime.now().strftime('%H:%M:%S')
print(now) # 14:30:23
使用 while 迴圈搭配 time 標準函式庫的 sleep 方法,就能實現每隔一秒更新一次時間的效果,最後,在 print() 印出的內容開頭加上「\r」,就能在每次印出時不要換行,而是將游標移動到每行的開頭進行更新。
import datetime
import time
while True:
now = datetime.datetime.now().strftime('%H:%M:%S')
print(f'\r{now}', end = '') # 前方加上 \r
time.sleep(1)
顯示世界時間 ( 同時顯示六個時區 )
如果要顯示不同時區的時間,需要使用 datetime.timezone 定義時區,並使用時區設定 datetime.now 的 tz 參數,就能得到該時區目前的時間,根據這個原理,如果要同時顯示多個時區的時間,可以定義一個顯示該時區時間的函式,並將多格時區設定為字典 dict 格式,就能使用 for 迴圈一次處理完成並顯示。
import datetime
import time
def timezone(h):
GMT = datetime.timezone(datetime.timedelta(hours=h)) # 取得時區
return datetime.datetime.now(tz=GMT).strftime('%H:%M:%S') # 回傳該時區的時間
# 六個時區的名稱與時差
local = {'倫敦':1,
'台灣':8,
'日本':9,
'紐約':-4,
'洛杉磯':-7,
'紐西蘭':12 }
while True:
print('\r',end='') # 開始時將游標移到開頭
# 讀取 local 的 key
for i in local:
now = timezone(local[i]) # 根據 key 的 value 取得時間
print(f'{i}>{timezone(local[i])} ', end='')
time.sleep(1)
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~