Python tkinter 时区转换器

1.python代码
import tkinter as tk
from datetime import datetime, timedelta
import pytz
from tkinter import ttk


def convert_timezone():
    source_timezone = timezone_dict[source_tz_combobox.get()]
    target_timezone = timezone_dict[target_tz_combobox.get()]
    input_time = datetime.strptime(entry1_1.get(), "%Y-%m-%d %H:%M:%S")

    try:
        source_tz = pytz.timezone(source_timezone)
        target_tz = pytz.timezone(target_timezone)
    except pytz.UnknownTimeZoneError as e:
        entry6_1.delete(0, tk.END)
        entry6_1.insert(0, f"错误: 不支持的时区 - {source_timezone} 或 {target_timezone}")
        return

    source_time = source_tz.localize(input_time)
    target_time = source_time.astimezone(target_tz)

    entry6_1.delete(0, tk.END)
    entry6_1.insert(0, target_time.strftime('%Y-%m-%d %H:%M:%S'))


root = tk.Tk()
root.title("时区转换器")
root.geometry('400x200')

# 输入时间
frame1 = tk.Frame(root, pady=5)
frame1.pack()

label1_1 = tk.Label(frame1, text="输入时间")
entry1_1 = tk.Entry(frame1)
label1_1.pack(side=tk.LEFT)
entry1_1.pack(side=tk.LEFT)

# 时区选择 Combobox
timezone_dict = {'CN/CST-中国上海': 'Asia/Shanghai', 'SGT-新加坡': 'Asia/Singapore', 'JST-脚盆鸡': 'Asia/Tokyo', 'IST-印度': 'Asia/Kolkata'}

# 源时区
frame2 = tk.Frame(root, pady=5)
frame2.pack()

label2_1 = tk.Label(frame2, text="源时区")
source_tz_combobox = ttk.Combobox(frame2, values=list(timezone_dict.keys()))
label2_1.pack(side=tk.LEFT)
source_tz_combobox.pack(side=tk.LEFT)

# 目标时区
frame3 = tk.Frame(root, pady=5)
frame3.pack()

label2_1 = tk.Label(frame3, text="目标时区")
target_tz_combobox = ttk.Combobox(frame3, values=list(timezone_dict.keys()))
label2_1.pack(side=tk.LEFT)
target_tz_combobox.pack(side=tk.LEFT)

# 转换按钮
frame4 = tk.Frame(root, pady=5)
frame4.pack()

convert_button = tk.Button(frame4, text="转换", command=convert_timezone)
convert_button.pack()

# 显示结果的 Label
frame5 = tk.Frame(root, pady=5)
frame5.pack()

#
frame6 = tk.Frame(root, pady=5)
frame6.pack()

label6_1 = tk.Label(frame6, text="转换后的时间")
entry6_1 = tk.Entry(frame6)
label6_1.pack(side=tk.LEFT)
entry6_1.pack(side=tk.LEFT)

root.mainloop()
2.打包命令
pyinstaller --noconsole --icon=xxx.ico time_zone.py -n timeZone -F

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值