import tkinter as tk
from time import strftime
from datetime import datetime

def update_time():
    # 获取当前时间
    current_time = datetime.now()
    
    # 格式化时间显示
    time_string = current_time.strftime('%H:%M:%S')
    date_string = current_time.strftime('%Y年%m月%d日')
    weekday_string = current_time.strftime('星期%w').replace('0', '日').replace('1', '一').replace('2', '二').replace('3', '三').replace('4', '四').replace('5', '五').replace('6', '六')
    
    # 更新标签文本
    time_label.config(text=time_string)
    date_label.config(text=date_string)
    weekday_label.config(text=weekday_string)
    
    # 每秒更新一次
    root.after(1000, update_time)

def change_theme():
    """切换主题颜色"""
    global is_dark_theme
    is_dark_theme = not is_dark_theme
    
    if is_dark_theme:
        # 深色主题
        root.config(bg='#1a1a1a')
        time_label.config(fg='#00ff00', bg='#1a1a1a')
        date_label.config(fg='#ffffff', bg='#1a1a1a')
        weekday_label.config(fg='#ffffff', bg='#1a1a1a')
        theme_btn.config(text='🌙 浅色模式', bg='#333333', fg='white')
    else:
        # 浅色主题
        root.config(bg='#f0f0f0')
        time_label.config(fg='#0066cc', bg='#f0f0f0')
        date_label.config(fg='#333333', bg='#f0f0f0')
        weekday_label.config(fg='#333333', bg='#f0f0f0')
        theme_btn.config(text='☀️ 深色模式', bg='#e0e0e0', fg='black')

# 创建主窗口
root = tk.Tk()
root.title('Python 桌面时钟')
root.geometry('400x300')
root.config(bg='#f0f0f0')

# 设置窗口图标（可选）
try:
    root.iconbitmap('clock.ico')
except:
    pass

# 主题标志
is_dark_theme = False

# 创建时间显示标签
time_label = tk.Label(root, 
                      font=('Arial', 60, 'bold'),
                      fg='#0066cc',
                      bg='#f0f0f0')
time_label.pack(pady=20)

# 创建日期显示标签
date_label = tk.Label(root,
                      font=('Arial', 24),
                      fg='#333333',
                      bg='#f0f0f0')
date_label.pack(pady=10)

# 创建星期显示标签
weekday_label = tk.Label(root,
                         font=('Arial', 20),
                         fg='#333333',
                         bg='#f0f0f0')
weekday_label.pack(pady=10)

# 创建主题切换按钮
theme_btn = tk.Button(root,
                     text='☀️ 深色模式',
                     font=('Arial', 12),
                     command=change_theme,
                     bg='#e0e0e0',
                     relief='flat',
                     padx=20,
                     pady=5)
theme_btn.pack(pady=20)

# 启动时间更新
update_time()

# 运行主循环
root.mainloop()