简单时钟 ( 世界时间 )
这篇教学会使用 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)
微信扫码关注
抖音扫码关注