如何利用python制作时间戳转换工具详解


Posted in Python onSeptember 12, 2018

前言:

时间戳的定义

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后,一直想找一个本地查找时间戳的小工具。奈何互联网大神们没有满足我的需求。于是我决定自己写一个。

本文的环境

  • 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有效) 就是不会显示一个黑窗口(太丑了,还要手动去关闭)如果不知道什么意思,可以自己去试试

github地址:https://github.com/VinterHe/timeTransverter (本地下载) 里面有打包好的exe文件可以直接拿去用
生成成功后提示中会有一条INFO: Appending archive to EXE C:\Users\XXX\dist\timeTransverter.exe,里面放着你想要的exe文件。欢迎大家转载和使用,谢谢。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
用Python脚本来删除指定容量以上的文件的教程
May 04 Python
初步讲解Python中的元组概念
May 21 Python
python实现简易云音乐播放器
Jan 04 Python
python爬虫之模拟登陆csdn的实例代码
May 18 Python
Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
Sep 04 Python
python3 实现对图片进行局部切割的方法
Dec 05 Python
python代码 FTP备份交换机配置脚本实例解析
Aug 01 Python
Python遍历字典方式就实例详解
Dec 28 Python
Python之关于类变量的两种赋值区别详解
Mar 12 Python
解决pytorch多GPU训练保存的模型,在单GPU环境下加载出错问题
Jun 23 Python
python如何写try语句
Jul 14 Python
一篇文章搞懂python混乱的切换操作与优雅的推导式
Aug 23 Python
Python get获取页面cookie代码实例
Sep 12 #Python
python读取和保存图片5种方法对比
Sep 12 #Python
python3 拼接字符串的7种方法
Sep 12 #Python
python简单操作excle的方法
Sep 12 #Python
使用python实现快速搭建简易的FTP服务器
Sep 12 #Python
python ftp 按目录结构上传下载的实现代码
Sep 12 #Python
python3结合openpyxl库实现excel操作的实例代码
Sep 11 #Python
You might like
新手配置 PHP 调试环境(IIS+PHP+MYSQL)
2007/01/10 PHP
php使浏览器直接下载pdf文件的方法
2013/11/15 PHP
phpstorm 配置xdebug的示例代码
2019/03/31 PHP
利用JQuery+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值
2009/10/24 Javascript
Javascript 类与静态类的实现
2010/04/01 Javascript
使用JQuery快速实现Tab的AJAX动态载入(实例讲解)
2013/12/11 Javascript
javascript实现C语言经典程序题
2015/11/29 Javascript
jQuery模仿京东/天猫商品左侧分类导航菜单效果
2016/06/29 Javascript
Sortable.js拖拽排序使用方法解析
2016/11/04 Javascript
easyui取消表单实时验证,提交时统一验证的简单实例
2016/11/07 Javascript
jquery+html仿翻页相册功能
2016/12/20 Javascript
JavaScript 完成注册页面表单校验的实例
2017/08/19 Javascript
JavaScript常用截取字符串的三种方式用法区别实例解析
2018/05/15 Javascript
vue移动端微信授权登录插件封装的实例
2018/08/28 Javascript
利用JS动态生成隔行换色HTML表格的两种方法
2018/10/09 Javascript
Koa日志中间件封装开发详解
2019/03/09 Javascript
用Python的pandas框架操作Excel文件中的数据教程
2015/03/31 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
2017/02/16 Python
Python及Django框架生成二维码的方法分析
2018/01/31 Python
django中上传图片分页三级联动效果的实现代码
2019/08/30 Python
Python 寻找局部最高点的实现
2019/12/05 Python
python实现马丁策略的实例详解
2021/01/15 Python
HTML5拖拉上传文件的简单实例
2017/01/11 HTML / CSS
世界上最大的曲棍球商店:Pro Hockey Life
2017/10/30 全球购物
Sunglasses Shop瑞典:欧洲领先的太阳镜网上商店
2018/04/22 全球购物
海量信息软件测试笔试题
2015/08/08 面试题
商场消防管理制度
2014/01/12 职场文书
社区服务活动小结
2014/07/08 职场文书
支行行长竞聘报告
2014/11/06 职场文书
表扬信格式模板
2015/05/05 职场文书
三严三实·严以修身心得体会
2016/01/15 职场文书
2016年社区中秋节活动总结
2016/04/05 职场文书
导游词之广西漓江
2019/11/02 职场文书
如何在CocosCreator里画个炫酷的雷达图
2021/04/16 Javascript
修改MySQL的默认密码的四种小方法
2021/05/26 MySQL
Redis模仿手机验证码发送的实现示例
2021/11/02 Redis