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 相关文章推荐
Python抽象类的新写法
Jun 18 Python
Python编程scoketServer实现多线程同步实例代码
Jan 29 Python
python OpenCV学习笔记直方图反向投影的实现
Feb 07 Python
Python实现的根据IP地址计算子网掩码位数功能示例
May 23 Python
NumPy.npy与pandas DataFrame的实例讲解
Jul 09 Python
python中实现字符串翻转的方法
Jul 11 Python
Python中asyncio与aiohttp入门教程
Oct 16 Python
10 分钟快速入门 Python3的教程
Jan 29 Python
TensorFLow 不同大小图片的TFrecords存取实例
Jan 20 Python
parser.add_argument中的action使用
Apr 20 Python
python实现二分类和多分类的ROC曲线教程
Jun 15 Python
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
Apr 06 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中定义网站根目录的常用方法
2010/08/08 PHP
php程序员应具有的7种能力小结
2014/11/27 PHP
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
2016/04/22 PHP
php+ajax登录跳转登录实现思路
2016/07/31 PHP
超强多功能php绿色集成环境详解
2017/01/25 PHP
PHP合并数组函数array_merge用法分析
2017/02/17 PHP
5个最佳的Javascript日期处理类库分享
2012/04/15 Javascript
jQuery中RadioButtonList的功能及用法实例介绍
2013/08/23 Javascript
JS Loading功能的简单实现
2013/11/29 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
JavaScript原生节点操作小结
2017/01/17 Javascript
详解基于webpack和vue.js搭建开发环境
2017/04/05 Javascript
微信小程序 刷新上拉下拉不会断详细介绍
2017/05/11 Javascript
jQuery插件ImgAreaSelect实现头像上传预览和裁剪功能实例讲解一
2017/05/26 jQuery
javascript数组拍平方法总结
2018/01/20 Javascript
vue element-ui table表格滚动加载方法
2018/03/02 Javascript
使用electron实现百度网盘悬浮窗口功能的示例代码
2018/10/24 Javascript
angular 用Observable实现异步调用的方法
2018/12/27 Javascript
谈谈JavaScript中super(props)的重要性
2019/02/12 Javascript
JS面向对象编程基础篇(三) 继承操作实例详解
2020/03/03 Javascript
一分钟学会JavaScript中的try-catch
2020/12/14 Javascript
[01:52]DOTA2完美大师赛Vega战队趣味视频——kpii老师小课堂
2017/11/25 DOTA
[02:52]2017DOTA2国际邀请赛中国区预选赛晋级之路
2017/07/03 DOTA
python开发之for循环操作实例详解
2015/11/12 Python
解决Shell执行python文件,传参空格引起的问题
2018/10/30 Python
什么是Python中的顺序表
2020/06/02 Python
WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回?
2012/02/21 面试题
管道维修工岗位职责
2013/12/27 职场文书
美德好少年事迹材料
2014/01/19 职场文书
2015年党员岗位承诺书
2015/04/27 职场文书
工作时间证明
2015/06/15 职场文书
小学数学教师研修日志
2015/11/13 职场文书
Python爬虫基础之简单说一下scrapy的框架结构
2021/06/26 Python
Java常用工具类汇总 附示例代码
2021/06/26 Java/Android
MySQL系列之十四 MySQL的高可用实现
2021/07/02 MySQL
AndroidStudio图片压缩工具ImgCompressPlugin使用实例
2022/08/05 Java/Android