前言:
时间戳的定义
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) / 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有效) 就是不会显示一个黑窗口(太丑了,还要手动去关闭)如果不知道什么意思,可以自己去试试
github地址:https://github.com/VinterHe/timeTransverter (本地下载) 里面有打包好的exe文件可以直接拿去用
生成成功后提示中会有一条INFO: Appending archive to EXE C:\Users\XXX\dist\timeTransverter.exe,里面放着你想要的exe文件。欢迎大家转载和使用,谢谢。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对小牛知识库的支持。
本文向大家介绍java时间戳与日期相互转换工具详解,包括了java时间戳与日期相互转换工具详解的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了java日期与时间戳相互转换大全,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍Python时间戳使用和相互转换详解,包括了Python时间戳使用和相互转换详解的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Python时间戳使用和相互转换的具体代码,供大家参考,具体内容如下 1.将字符串的时间转换为时间戳 方法: 2.字符串格式更改 如a = "2013-10-10 23:40:00",想改为 a ="2013/10/10 23:40:
本文向大家介绍python时间与Unix时间戳相互转换方法详解,包括了python时间与Unix时间戳相互转换方法详解的使用技巧和注意事项,需要的朋友参考一下 对于时间数据,如2018-09-25 09:28:59,有时需要与Unix时间戳进行相互的运算,此时就需要对两种形式进行转换,在Python中,转换时需要用到time模块,具体的函数如下: 其中unix_time函数是正常时间转unix时间
我找不到这个问题的解决方案,我正在从firebase获取数据,其中一个字段是时间戳,看起来像这样- Swift示例(作品): 我的飞镖尝试: 并且它返回的日期/时间是错误的。 更新:
本文向大家介绍js时间戳转yyyy-MM-dd HH-mm-ss工具类详解,包括了js时间戳转yyyy-MM-dd HH-mm-ss工具类详解的使用技巧和注意事项,需要的朋友参考一下 在web开发中,我们经常需要用js将时间戳转yyyy-MM-dd HH-mm-ss类似的格式,这样才适合我们的观感,那么我们该如何在js中将时间戳转换成这种格式呢?其实很简单,我们开发一个时间戳工具类,如下: 第一种
问题内容: 我正在寻找将UTC时间字符串转换为Unix时间戳的选项。 我拥有的字符串变量是,需要将其转换为unix时间戳,例如 任何想法如何做到这一点? 问题答案: 首先,unix时间戳没有时间,但以UTC为单位。 在包有功能解析与预计解析时的布局。布局是从参考时间开始构造的。因此,在您的情况下,布局应为。使用Parse之后,您将获得一个可以调用Unix来接收Unix时间戳的结构。