python日期与时间戳的各种转换示例


Posted in Python onFebruary 12, 2020

官方文档的示例中没有我们习惯的日期格式,查了很多博客转换日期和时间戳也都是大概的能得到结果的方式,常将 datetime 和 time 两个模块混用,个人觉得时间格式化不应该这么麻烦,还得用两个模块来支持?故而翻遍了源码,总结以下常用的几种日期和时间戳的转换方式。

以下主要有三个元素(时间字符串,格式,Unix时间戳),可将时间字符串转为另一种时间格式,或将时间字符串转为时间戳,或将时间戳转为时间字符串。

datetime 和 time 两个模块,任意一个都能转换完成。

以下两个模块均列出示例:

# coding: utf-8
from datetime import datetime
import time

s = '2019-06-07 16:30:10'
f = '%Y-%m-%d %H:%M:%S'
s2 = 'Fri Jun 7 16:30:10 2019'
f2 = '%c'

// 时间字符串转时间戳, 时间字串 s和format 对应
// int(t) 转为整型
t = datetime.strptime(s, f).timestamp() # 1559856210.0
t2 = time.mktime(time.strptime(s, f)) # 1559856210.0
t3 = time.mktime(time.strptime(s2, f2)) # 1559856210.0
t4 = datetime.strptime(s2, f2).timestamp() # 1559856210.0
t5 = datetime.strptime('2019-06-07', '%Y-%m-%d').timestamp() # 1559836800.0
t6 = datetime.strptime('06/07/19', '%x').timestamp() # 1559836800.0 (06/07/2019, '%m/%d/%Y')
print(t, t2, t3, t4, t5, t6, "\n")

ut = 1559896210
# 时间戳转为时间字符串
d = datetime.fromtimestamp(ut) # 2019-06-07 16:30:10
d2 = time.strftime(f, time.localtime(ut)) # 2019-06-07 16:30:10
d3 = time.ctime(ut) # Fri Jun 7 16:30:10 2019
d4 = datetime.fromtimestamp(ut).ctime() # Fri Jun 7 16:30:10 2019
d5 = time.strftime('%Y-%m-%d', time.localtime(ut)) # 2019-06-07 (05:23:30, %H:%M:%S)
d6 = datetime.fromtimestamp(ut).date() # 2019-06-07
d7 = datetime.fromtimestamp(ut).time() # 16:30:10
d8 = time.strftime('%x', time.localtime(ut)) # 06/07/19
d9 = time.strftime('%X', time.localtime(ut)) # 16:30:10
dd = datetime.fromtimestamp(ut).strftime('%x') # 06/07/19 [(16:30:10, %X), (Fri Jun 7 16:30:10 2019, %c)]
print(d, d2, d3, d4, d5, d6, d7, d8, d9, dd, "\n")

# 格式转换
# 将 2019-06-07 16:30:10 转为 Fri Jun 7 16:30:10 2019
# (16:30:10, %X)
transf = datetime.strptime(s, f).strftime(f2)
# 将 Fri Jun 7 16:30:10 2019 转为 2019-06-07
# (2019-06-07 16:30:10, %Y-%m-%d %H:%M:%S)
transf2 = datetime.strptime(s2, f2).strftime('%Y-%m-%d')
# 将 2019-06-07 16:30:10 转为 Fri Jun 7 16:30:10 2019
# (2019-06-07 16:30:10, %Y-%m-%d %H:%M:%S)
transf3 = time.strftime('%c', time.strptime(s, f))
# 将 Fri Jun 7 16:30:10 2019 转为 2019-06-07 16:30:10
transf4 = time.strftime(f, time.strptime(s2, f2))
print(transf, transf2, transf3, transf4)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
windows下安装Python和pip终极图文教程
Mar 05 Python
Python面向对象之反射/自省机制实例分析
Aug 24 Python
使用python将图片格式转换为ico格式的示例
Oct 22 Python
Django中间件基础用法详解
Jul 18 Python
django如何通过类视图使用装饰器
Jul 24 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
Oct 11 Python
Flask之pipenv虚拟环境的实现
Nov 26 Python
Python 自由定制表格的实现示例
Mar 20 Python
keras的backend 设置 tensorflow,theano操作
Jun 30 Python
python转化excel数字日期为标准日期操作
Jul 14 Python
python实现简单聊天功能
Jul 07 Python
Python matplotlib绘制条形统计图 处理多个实验多组观测值
Apr 21 Python
Python使用uuid库生成唯一标识ID
Feb 12 #Python
将python文件打包exe独立运行程序方法详解
Feb 12 #Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
Feb 12 #Python
Python sep参数使用方法详解
Feb 12 #Python
Python多重继承之菱形继承的实例详解
Feb 12 #Python
Python实现桌面翻译工具【新手必学】
Feb 12 #Python
PyCharm无法引用自身项目解决方式
Feb 12 #Python
You might like
十天学会php之第九天
2006/10/09 PHP
PHP+AJAX实现无刷新注册(带用户名实时检测)
2007/01/02 PHP
php实现的遍历文件夹下所有文件,编辑删除
2010/01/05 PHP
php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)
2016/07/18 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
javascript 面向对象编程 聊聊对象的事
2009/09/17 Javascript
新手常遇到的一些jquery问题整理
2010/08/16 Javascript
javascript函数重载解决方案分享
2014/02/19 Javascript
javascript 构造函数方式定义对象
2015/01/02 Javascript
Avalon中文长字符截取、关键字符隐藏、自定义过滤器
2016/05/18 Javascript
JQuery获取鼠标进入和离开容器的方向
2016/12/29 Javascript
jquery 一键复制到剪切板的实例
2017/09/20 jQuery
JavaScript编程设计模式之观察者模式(Observer Pattern)实例详解
2017/10/25 Javascript
JS通过ajax + 多列布局 + 自动加载实现瀑布流效果
2019/05/30 Javascript
python虚拟环境 virtualenv的简单使用
2020/01/21 Javascript
Nuxt 嵌套路由nuxt-child组件用法(父子页面组件的传值)
2020/11/05 Javascript
利用Python和OpenCV库将URL转换为OpenCV格式的方法
2015/03/27 Python
Python中线程编程之threading模块的使用详解
2015/06/23 Python
使用Python的Bottle框架写一个简单的服务接口的示例
2015/08/25 Python
Python实现的密码强度检测器示例
2017/08/23 Python
python一行sql太长折成多行并且有多个参数的方法
2018/07/19 Python
详解python中Numpy的属性与创建矩阵
2018/09/10 Python
Python基础教程之异常详解
2019/01/10 Python
详解python pandas 分组统计的方法
2019/07/30 Python
pycharm的python_stubs问题
2020/04/08 Python
Django如何实现防止XSS攻击
2020/10/13 Python
.NET概念性的面试题
2012/02/29 面试题
网友共享的几个面试题关于Java和Unix等方面的
2016/09/08 面试题
工程造价与管理专业应届生求职信
2013/11/23 职场文书
物业保安主管岗位职责
2013/12/25 职场文书
教师求职信范文分享
2013/12/27 职场文书
九年级体育教学反思
2014/01/23 职场文书
政协委员个人总结
2015/03/03 职场文书
开业典礼致辞
2015/07/29 职场文书
开网店计划分析
2019/07/30 职场文书
有关信念的名言语录集锦
2019/12/06 职场文书