Python tkinter 创建时间戳转换器

1.python代码
import tkinter as tk
import time


def update_time(entry_widget):
    current_time = str(int(time.time()))
    entry_widget.delete(0, tk.END)
    entry_widget.insert(0, current_time)
    root.after(1000, update_time, entry_widget)


def convert_timestamp():
    val = entry4_1.get()
    if val and val.isdigit():
        try:
            timestamp = float(entry4_1.get())
            time_struct = time.localtime(timestamp)
            formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", time_struct)
            entry6_1.delete(0, tk.END)
            entry6_1.insert(0, formatted_time)
        except ValueError:
            entry6_1.delete(0, tk.END)
            entry6_1.insert(0, "无效时间戳")
    else:
        entry6_1.delete(0, tk.END)
        entry6_1.insert(0, "值为空或不符合时间戳格式")


def set_default_time():
    current_time = time.localtime()
    year = str(current_time.tm_year)
    month = str(current_time.tm_mon)
    day = str(current_time.tm_mday)
    hour = str(current_time.tm_hour)
    minute = str(current_time.tm_min)
    second = str(current_time.tm_sec)
    entry8_1.delete(0, tk.END)
    entry8_1.insert(0, year)
    entry8_2.delete(0, tk.END)
    entry8_2.insert(0, month)
    entry8_3.delete(0, tk.END)
    entry8_3.insert(0, day)
    entry9_1.delete(0, tk.END)
    entry9_1.insert(0, hour)
    entry9_2.delete(0, tk.END)
    entry9_2.insert(0, minute)
    entry9_3.delete(0, tk.END)
    entry9_3.insert(0, second)


def convert_to_timestamp():
    year = entry8_1.get()
    month = entry8_2.get()
    day = entry8_3.get()
    hour = entry9_1.get()
    minute = entry9_2.get()
    second = entry9_3.get()

    if not all([year, month, day, hour, minute, second]):
        entry11_1.delete(0, tk.END)
        entry11_1.insert(0, "有值为空,请全部输入")
        return

    try:
        year = int(year)
        month = int(month)
        day = int(day)
        hour = int(hour)
        minute = int(minute)
        second = int(second)
    except ValueError:
        entry11_1.delete(0, tk.END)
        entry11_1.insert(0, "输入值不符合时间格式,请重新输入")
        return

    try:
        time_struct = time.struct_time((year, month, day, hour, minute, second, 0, 0, 0))
        timestamp = int(time.mktime(time_struct))
        entry11_1.delete(0, tk.END)
        entry11_1.insert(0, str(timestamp))
    except ValueError:
        entry11_1.delete(0, tk.END)
        entry11_1.insert(0, "输入的时间值不合法,请重新输入")
        return


root = tk.Tk()
root.title("时间戳转换")
root.geometry('400x400')

frame1 = tk.Frame(root, pady=5)
frame1.pack()

label1_1 = tk.Label(frame1, text="Unix时间戳在线转换器")
label1_1.pack(side=tk.LEFT)

frame2 = tk.Frame(root, pady=5)
frame2.pack()

label2_1 = tk.Label(frame2, text="现在时间戳")
entry2_1 = tk.Entry(frame2)
label2_1.pack(side=tk.LEFT)
entry2_1.pack(side=tk.LEFT)
update_time(entry2_1)

frame3 = tk.Frame(root, pady=5)
frame3.pack()

label3_1 = tk.Label(frame3, text="时间戳转换成时间日期格式")
label3_1.pack(side=tk.LEFT)

frame4 = tk.Frame(root, pady=5)
frame4.pack()

label4_1 = tk.Label(frame4, text="时间戳")
entry4_1 = tk.Entry(frame4)
label4_1.pack(side=tk.LEFT)
entry4_1.pack(side=tk.LEFT)

frame5 = tk.Frame(root, pady=5)
frame5.pack()

buttion5_1 = tk.Button(frame5, text="转换成时间日期", command=convert_timestamp)
buttion5_1.pack(side=tk.LEFT)

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

label6_1 = tk.Label(frame6, text="时间")
entry6_1 = tk.Entry(frame6, width=20)
label6_1.pack(side=tk.LEFT)
entry6_1.pack(side=tk.LEFT)

frame7 = tk.Frame(root, pady=5)
frame7.pack()

label7_1 = tk.Label(frame7, text="时间日期转换时间戳")
label7_1.pack(side=tk.LEFT)

frame8 = tk.Frame(root, pady=5)
frame8.pack()

entry8_1 = tk.Entry(frame8, width=5)
label8_1 = tk.Label(frame8, text="年")
entry8_2 = tk.Entry(frame8, width=5)
label8_2 = tk.Label(frame8, text="月")
entry8_3 = tk.Entry(frame8, width=5)
label8_3 = tk.Label(frame8, text="日")
entry8_1.pack(side=tk.LEFT)
label8_1.pack(side=tk.LEFT)
entry8_2.pack(side=tk.LEFT)
label8_2.pack(side=tk.LEFT)
entry8_3.pack(side=tk.LEFT)
label8_3.pack(side=tk.LEFT)

frame9 = tk.Frame(root, pady=5)
frame9.pack()

entry9_1 = tk.Entry(frame9, width=5)
label9_1 = tk.Label(frame9, text="时")
entry9_2 = tk.Entry(frame9, width=5)
label9_2 = tk.Label(frame9, text="分")
entry9_3 = tk.Entry(frame9, width=5)
label9_3 = tk.Label(frame9, text="秒")
entry9_1.pack(side=tk.LEFT)
label9_1.pack(side=tk.LEFT)
entry9_2.pack(side=tk.LEFT)
label9_2.pack(side=tk.LEFT)
entry9_3.pack(side=tk.LEFT)
label9_3.pack(side=tk.LEFT)

frame10 = tk.Frame(root, pady=5)
frame10.pack()

buttion10_1 = tk.Button(frame10, text="转换成时间戳", command=convert_to_timestamp)
buttion10_1.pack(side=tk.LEFT)

frame11 = tk.Frame(root, pady=5)
frame11.pack()

label11_1 = tk.Label(frame11, text="时间戳")
entry11_1 = tk.Entry(frame11, width=30)
label11_1.pack(side=tk.LEFT)
entry11_1.pack(side=tk.LEFT)

set_default_time()

root.mainloop()
2.打包命令

命令会打处理一个单独exe文件在dist里;没有ico就把"--icon=xx.ico"去掉,有的话保证路径正确.

pyinstaller --noconsole --icon=xxx.ico main.py -n timestamp -F

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值