如何利用python制作時間戳轉換工具詳解
前言:
時間戳的定義
Unix時間戳(Unix時間戳)或稱Unix時間(Unix時間),POSIX時間(POSIX時間),是一種時間表示方式,定義為從格林威治時間1970年01月01日00時00分00秒起至現(xiàn)在的總秒數(shù).Unix時間戳不僅被使用在Unix的系統(tǒng),類Unix的系統(tǒng)中,也在許多其他操作系統(tǒng)中被廣泛采用。多數(shù)的Unix系統(tǒng)將時間戳以一個32位整型進行保存,這可能會在2038年1月19日產生一些問題(Y2038問題)。
作為一個程序員一般情況下,json和時間戳是常用的兩個工具,我咨詢過很多個朋友,他們一般都是通過在線工具對json進行格式化,或者查詢時間戳。這個方式也是我之前的使用方式,此種方式不足之處如下:
1.每次打開過程步驟繁瑣,即使收藏了也要先打開瀏覽器,然后點擊
2.如果打開的瀏覽器標簽足夠多的話,根本找不到(就是說的我這樣的人)
3.等
后來我發(fā)現(xiàn)了hijson這個工具可以本地格式化json后,一直想找一個本地查找時間戳的小工具。奈何互聯(lián)網大神們沒有滿足我的需求。于是我決定自己寫一個。
本文的環(huán)境
- python 3.6
- time 庫
- tkinter 庫
可選:可以使用pyinstaller打包成exe文件運行。程序大小大約8m,運行時內存占用15m左右。
先貼代碼(因為時間有限,沒有寫的太工整,見諒):
from tkinter import *
from time import *
'''
1、這個程序實現(xiàn)時間戳和日期格式的相互轉換。
2、使用grid方法按照表格方式對組件位置進行安排
3、通過Button按鈕進行轉換和刷新操作。
4、通過Entry來獲取用戶輸入。
'''
root = Tk()
root.title('時間戳轉換')
root.resizable(0,0)#禁止拉伸 會變丑
# 對變量進行創(chuàng)建,和數(shù)據初始化
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 #如果能運行會提示選項
打包文件
#打包的命令(在命令行中運行,如果不成功記得配置好環(huán)境變量) pyinsatller -F -w D:\python\timeTran.py #選項介紹 #-F –onefile 產生一個文件用于部署 (參見XXXXX). #-w,–windowed,–noconsole 使用Windows子系統(tǒng)執(zhí)行.當程序啟動的時候不會打開命令行(只對Windows有效) 就是不會顯示一個黑窗口(太丑了,還要手動去關閉)如果不知道什么意思,可以自己去試試
github地址:https://github.com/VinterHe/timeTransverter (本地下載) 里面有打包好的exe文件可以直接拿去用
生成成功后提示中會有一條INFO: Appending archive to EXE C:\Users\XXX\dist\timeTransverter.exe,里面放著你想要的exe文件。歡迎大家轉載和使用,謝謝。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
Python 多線程C段掃描、檢測 Ping掃描腳本的實現(xiàn)
這篇文章主要介紹了Python 多線程C段掃描、檢測 Ping掃描腳本的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09
ChatGPT 幫我自動編寫 Python 爬蟲腳本的詳細過程
ChatGPT是一種基于大語言模型的生成式AI,換句話說它可以自動生成類似人類語言的文本,把梳理好的有邏輯的答案呈現(xiàn)在你面前,這完全不同于傳統(tǒng)搜索工具,這篇文章主要介紹了ChatGPT 幫我自動編寫 Python 爬蟲腳本,需要的朋友可以參考下2023-02-02

