如何利用python制作時間戳轉(zhuǎn)換工具詳解
前言:
時間戳的定義
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位整型進(jìn)行保存,這可能會在2038年1月19日產(chǎn)生一些問題(Y2038問題)。
作為一個程序員一般情況下,json和時間戳是常用的兩個工具,我咨詢過很多個朋友,他們一般都是通過在線工具對json進(jìn)行格式化,或者查詢時間戳。這個方式也是我之前的使用方式,此種方式不足之處如下:
1.每次打開過程步驟繁瑣,即使收藏了也要先打開瀏覽器,然后點(diǎn)擊
2.如果打開的瀏覽器標(biāo)簽足夠多的話,根本找不到(就是說的我這樣的人)
3.等
后來我發(fā)現(xiàn)了hijson這個工具可以本地格式化json后,一直想找一個本地查找時間戳的小工具。奈何互聯(lián)網(wǎng)大神們沒有滿足我的需求。于是我決定自己寫一個。
本文的環(huán)境
- python 3.6
- time 庫
- tkinter 庫
可選:可以使用pyinstaller打包成exe文件運(yùn)行。程序大小大約8m,運(yùn)行時內(nèi)存占用15m左右。
先貼代碼(因?yàn)闀r間有限,沒有寫的太工整,見諒):
from tkinter import *
from time import *
'''
1、這個程序?qū)崿F(xiàn)時間戳和日期格式的相互轉(zhuǎn)換。
2、使用grid方法按照表格方式對組件位置進(jìn)行安排
3、通過Button按鈕進(jìn)行轉(zhuǎn)換和刷新操作。
4、通過Entry來獲取用戶輸入。
'''
root = Tk()
root.title('時間戳轉(zhuǎn)換')
root.resizable(0,0)#禁止拉伸 會變丑
# 對變量進(jìn)行創(chuàng)建,和數(shù)據(jù)初始化
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()))
#時間戳轉(zhuǎn)換成日期
def trans1():
e1 = Entry(root, textvariable=v1) # Entry 是 Tkinter 用來接收字符串等輸入的控件.
e2 = Entry(root, textvariable=p1)
e1.grid(row=0, column=1, padx=10, pady=5) # 設(shè)置輸入框顯示的位置,以及長和寬屬性
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))
#日期轉(zhuǎn)換為時間戳
def trans2():
e3 = Entry(root, textvariable=v2) # Entry 是 Tkinter 用來接收字符串等輸入的控件.
e4 = Entry(root, textvariable=p2)
e3.grid(row=3, column=1, padx=10, pady=5) # 設(shè)置輸入框顯示的位置,以及長和寬屬性
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='轉(zhuǎn)換', width=10, command=trans1) \
.grid(row=2, column=0, sticky=W, padx=10, pady=5)
Button(root, text='轉(zhuǎn)換', 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()
#設(shè)置窗口初始顯示位置
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 #安裝直接運(yùn)行一下如下命令 pyinstaller #如果能運(yùn)行會提示選項(xiàng)
打包文件
#打包的命令(在命令行中運(yùn)行,如果不成功記得配置好環(huán)境變量) pyinsatller -F -w D:\python\timeTran.py #選項(xiàng)介紹 #-F –onefile 產(chǎn)生一個文件用于部署 (參見XXXXX). #-w,–windowed,–noconsole 使用Windows子系統(tǒng)執(zhí)行.當(dāng)程序啟動的時候不會打開命令行(只對Windows有效) 就是不會顯示一個黑窗口(太丑了,還要手動去關(guān)閉)如果不知道什么意思,可以自己去試試
github地址:https://github.com/VinterHe/timeTransverter (本地下載) 里面有打包好的exe文件可以直接拿去用
生成成功后提示中會有一條INFO: Appending archive to EXE C:\Users\XXX\dist\timeTransverter.exe,里面放著你想要的exe文件。歡迎大家轉(zhuǎn)載和使用,謝謝。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
深入學(xué)習(xí)Python中的上下文管理器與else塊
這篇文章主要給大家介紹了關(guān)于Python中上下文管理器與else塊的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08
vscode 與pycharm 配置 autopep8自動格式化代碼
autopep8是一個可以將Python代碼自動排版為PEP8風(fēng)格第三方包,使用它可以輕松地排版出格式優(yōu)美整齊的代碼,這里就為大家分享一下具體的方法2023-09-09
python 獲取url中的參數(shù)列表實(shí)例
今天小編就為大家分享一篇python 獲取url中的參數(shù)列表實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
淺析Python語言自帶的數(shù)據(jù)結(jié)構(gòu)有哪些
Python已經(jīng)廣泛的應(yīng)用于數(shù)據(jù)分析、數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)等眾多科學(xué)計(jì)算領(lǐng)域,這篇文章主要介紹了Python語言自帶的數(shù)據(jù)結(jié)構(gòu)有哪些?需要的朋友可以參考下2019-08-08
Python基礎(chǔ)之模塊相關(guān)知識總結(jié)
今天帶大家復(fù)習(xí)Python基礎(chǔ)知識,文中對模塊相關(guān)知識介紹的非常詳細(xì),對正在學(xué)習(xí)python基礎(chǔ)的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05
python實(shí)現(xiàn)定時同步本機(jī)與北京時間的方法
這篇文章主要介紹了python實(shí)現(xiàn)定時同步本機(jī)與北京時間的方法,涉及Python針對時間的操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03

