前言:
時間戳的定義
Unix時間戳(Unix時間戳)或稱Unix時間(Unix時間),POSIX時間(POSIX時間),是一種時間表示方式,定義為從格林威治時間1970年01月01日00時00分00秒起至現在的總秒數.Unix時間戳不僅被使用在Unix的系統,類Unix的系統中,也在許多其他操作系統中被廣泛采用。多數的Unix系統將時間戳以一個32位整型進行保存,這可能會在2038年1月19日產生一些問題(Y2038問題)。
作為一個程序員一般情況下,json和時間戳是常用的兩個工具,我咨詢過很多個朋友,他們一般都是通過在線工具對json進行格式化,或者查詢時間戳。這個方式也是我之前的使用方式,此種方式不足之處如下:
1.每次打開過程步驟繁瑣,即使收藏了也要先打開瀏覽器,然后點擊
2.如果打開的瀏覽器標簽足夠多的話,根本找不到(就是說的我這樣的人)
3.等
后來我發現了hijson這個工具可以本地格式化json后,一直想找一個本地查找時間戳的小工具。奈何互聯網大神們沒有滿足我的需求。于是我決定自己寫一個。
本文的環境
可選:可以使用pyinstaller打包成exe文件運行。程序大小大約8m,運行時內存占用15m左右。
先貼代碼(因為時間有限,沒有寫的太工整,見諒):
from tkinter import *from time import *'''1、這個程序實現時間戳和日期格式的相互轉換。2、使用grid方法按照表格方式對組件位置進行安排3、通過Button按鈕進行轉換和刷新操作。4、通過Entry來獲取用戶輸入。'''root = Tk()root.title('時間戳轉換')root.resizable(0,0)#禁止拉伸 會變丑# 對變量進行創建,和數據初始化Label1 = Label(root, text='時間戳:').grid(row=0, column=0)Label2 = Label(root, text='日期:').grid(row=1, column=0)v1 = StringVar()p1 = StringVar()v1.set(int(time()))Label3 = Label(root, text='日期:').grid(row=3, column=0)Label4 = Label(root, text='時間戳').grid(row=4, column=0)v2 = StringVar()p2 = StringVar()timeArray1 = localtime(int(time()))v2.set(strftime("%Y-%m-%d %H:%M:%S", timeArray1))p2.set(int(time()))#時間戳轉換成日期def trans1(): e1 = Entry(root, textvariable=v1) # Entry 是 Tkinter 用來接收字符串等輸入的控件. e2 = Entry(root, textvariable=p1) e1.grid(row=0, column=1, padx=10, pady=5) # 設置輸入框顯示的位置,以及長和寬屬性 e2.grid(row=1, column=1, padx=10, pady=5) timeArray = localtime(int(e1.get())) p1.set(strftime("%Y-%m-%d %H:%M:%S", timeArray))#日期轉換為時間戳def trans2(): e3 = Entry(root, textvariable=v2) # Entry 是 Tkinter 用來接收字符串等輸入的控件. e4 = Entry(root, textvariable=p2) e3.grid(row=3, column=1, padx=10, pady=5) # 設置輸入框顯示的位置,以及長和寬屬性 e4.grid(row=4, column=1, padx=10, pady=5) p2.set(int(mktime(strptime(e3.get(), "%Y-%m-%d %H:%M:%S"))))#刷新第二個模組def refresh(): timeArray1 = localtime(int(time())) v2.set(strftime("%Y-%m-%d %H:%M:%S", timeArray1)) p2.set(int(time()))Button(root, text='轉換', width=10, command=trans1) / .grid(row=2, column=0, sticky=W, padx=10, pady=5)Button(root, text='轉換', width=10, command=trans2) / .grid(row=5, column=0, sticky=W, padx=10, pady=5)Button(root, text='刷新', width=10, command=refresh) / .grid(row=5, column=1, sticky=W, padx=10, pady=5)Button(root, text='退出', width=10, command=root.quit) / .grid(row=6, column=1, sticky=E, padx=10, pady=5)trans1()trans2()#設置窗口初始顯示位置sw = root.winfo_screenwidth()sh = root.winfo_screenheight()x = (sw) / 2y = (sh) / 2root.geometry("+%d+%d" %(x,y))mainloop()
新聞熱點
疑難解答