1. 程式人生 > ># 使用python製作時間戳轉換工具

# 使用python製作時間戳轉換工具

使用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) / 2
y = (sh) / 2
root.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有效) 就是不會顯示一個黑視窗(太醜了,還要手動去關閉)如果不知道什麼意思,可以自己去試試

這個時候就在同級別目錄下生成一個dist目錄,裡面放著你想要的exe檔案。歡迎大家轉載和使用,謝謝。