如何利用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 相关文章推荐
PyChar学习教程之自定义文件与代码模板详解
Jul 17 Python
详解pandas数据合并与重塑(pd.concat篇)
Jul 09 Python
对django 模型 unique together的示例讲解
Aug 06 Python
python 队列基本定义与使用方法【初始化、赋值、判断等】
Oct 24 Python
在Python中等距取出一个数组其中n个数的实现方式
Nov 27 Python
python add_argument()用法解析
Jan 29 Python
django实现模板中的字符串文字和自动转义
Mar 31 Python
Anaconda和ipython环境适配的实现
Apr 22 Python
Django Path转换器自定义及正则代码实例
May 29 Python
终于搞懂了Keras中multiloss的对应关系介绍
Jun 22 Python
python实现企业微信定时发送文本消息的示例代码
Nov 24 Python
Python入门之使用pandas分析excel数据
May 12 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
dede3.1分页文字采集过滤规则详说(图文教程)续四
2007/04/03 PHP
PHP CURL模拟GET及POST函数代码
2010/04/25 PHP
php实现简易聊天室应用代码
2015/09/23 PHP
php使用ffmpeg获取视频信息并截图的实现方法
2016/05/03 PHP
PHP生成随机码的思路与方法实例探索
2019/04/11 PHP
php-fpm超时时间设置request_terminate_timeout资源问题分析
2019/09/27 PHP
PHP 构造函数和析构函数原理与用法分析
2020/04/21 PHP
ExtJS 2.2.1的grid控件在ie6中的显示问题
2009/05/04 Javascript
基于MVC4+EasyUI的Web开发框架形成之旅之界面控件的使用
2015/12/16 Javascript
JavaScript继承模式粗探
2016/01/12 Javascript
jquery获取form表单input元素值的简单实例
2016/05/30 Javascript
浅谈在js传递参数中含加号(+)的处理方式
2016/10/11 Javascript
微信小程序 两种为对象属性赋值的方式详解
2017/02/23 Javascript
jQuery实现 上升、下降、删除、添加一行代码
2017/03/06 Javascript
快速理解 JavaScript 中的 LHS 和 RHS 查询的用法
2017/08/24 Javascript
webpack vue项目开发环境局域网访问方法
2018/03/20 Javascript
JavaScript实现shuffle数组洗牌操作示例
2019/01/03 Javascript
Node.js 进程平滑离场剖析小结
2019/01/24 Javascript
JavaScript ES6常用基础知识总结
2019/02/09 Javascript
使用post方法实现json往返传输数据的方法
2019/03/30 Javascript
微信小程序学习总结(五)常见问题实例小结
2020/06/04 Javascript
解决vue项目中某一页面不想引用公共组件app.vue的问题
2020/08/14 Javascript
Vue 实现监听窗口关闭事件,并在窗口关闭前发送请求
2020/09/01 Javascript
Python中用pycurl监控http响应时间脚本分享
2015/02/02 Python
在Python程序中操作文件之isatty()方法的使用教程
2015/05/24 Python
Python的装饰器用法学习笔记
2016/06/24 Python
SQLite3中文编码 Python的实现
2017/01/11 Python
关于Python的一些学习总结
2018/05/25 Python
python实现网站微信登录的示例代码
2019/09/18 Python
详解Python模块化编程与装饰器
2021/01/16 Python
CSS3制作精致的照片墙特效
2016/06/07 HTML / CSS
详解利用canvas实现环形进度条的方法
2019/06/12 HTML / CSS
印度购物网站:TATA CLiQ
2017/11/23 全球购物
英国手机壳购买网站:Case Hut
2019/04/11 全球购物
高中毕业生自我鉴定范文
2013/09/26 职场文书
Django路由层如何获取正确的url
2021/07/15 Python