使用python製作時間戳記轉換工具
python 時間戳記轉日期 日期轉時間戳記
前言:作為一個程式員一般情況下,json和時間戳記是常用的兩個工具,我諮詢過很多個朋友,他們一般都是通過線上工具對json進行格式化,或者查詢時間戳記。這個方式也是我之前的使用方式,此種方式不足之處如下:
1.每次開啟過程步驟繁瑣,即使收藏了也要先開啟瀏覽器,然後點擊
2.如果開啟的瀏覽器標籤足夠多的話,根本找不到(就是說的我這樣的人)
3.等
後來我發現了hijson這個工具可以本地格式化json後,一直想找一個本地尋找時間戳記的小工具。奈何互連網大神們沒有滿足我的需求。於是我決定自己寫一個。
本文的環境
- python 3.6
- time 庫
- tkinter 庫
可選:可以使用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()
我一直信奉代碼寫的足夠好不需要額外的太多解釋。請看上面代碼中的注釋
pyinstaller的安裝和使用安裝
pip install pyinsatller#安裝直接運行一下如下命令pyinstaller#如果能運行會提示選項
打包檔案
#打包的命令(在命令列中運行,如果不成功記得配置好環境變數)pyinsatller -F -w D:\python\timeTran.py #選項介紹#-F –onefile 產生一個檔案用於部署 (參見XXXXX).#-w,–windowed,–noconsole 使用Windows子系統執行.當程式啟動的時候不會開啟命令列(只對Windows有效) 就是不會顯示一個黑視窗(太醜了,還要手動去關閉)如果不知道什麼意思,可以自己去試試
github地址:github.com/VinterHe/timeTransverter 裡面有打包好的exe檔案可以直接拿去用
產生成功後提示中會有一條INFO: Appending archive to EXE C:\Users\XXX\dist\timeTransverter.exe,裡面放著你想要的exe檔案。歡迎大家和使用,謝謝。