from tkinter import *
from time import strftime

# 创建主窗口
root = Tk()
root.title("桌面数字时钟")
root.geometry("600x280")
root.resizable(False, False)  # 禁止缩放窗口
root.configure(bg="#0f172a")  # 深色背景

# 更新时间函数
def update_time():
    # 获取时分秒 + 年月日星期
    time_str = strftime("%H:%M:%S")
    date_str = strftime("%Y年%m月%d日   %A")
    
    # 替换英文星期为中文
    week_map = {
        "Monday": "星期一",
        "Tuesday": "星期二",
        "Wednesday": "星期三",
        "Thursday": "星期四",
        "Friday": "星期五",
        "Saturday": "星期六",
        "Sunday": "星期日"
    }
    for en, cn in week_map.items():
        date_str = date_str.replace(en, cn)
    
    # 更新标签文字
    time_label.config(text=time_str)
    date_label.config(text=date_str)
    
    # 每秒递归调用自己刷新
    time_label.after(1000, update_time)

# 时间大标签
time_label = Label(
    root,
    font=("微软雅黑", 80, "bold"),
    bg="#0f172a",
    fg="#38bdf8"
)
time_label.pack(pady=30)

# 日期星期标签
date_label = Label(
    root,
    font=("微软雅黑", 20),
    bg="#0f172a",
    fg="#cbd5e1"
)
date_label.pack()

# 启动时钟刷新
update_time()

# 窗口循环
root.mainloop()