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根据路径导入模块的方法
Sep 30 Python
使用graphics.py实现2048小游戏
Mar 10 Python
Python+tkinter使用40行代码实现计算器功能
Jan 30 Python
python 返回列表中某个值的索引方法
Nov 07 Python
Python把对应格式的csv文件转换成字典类型存储脚本的方法
Feb 12 Python
详解用Python实现自动化监控远程服务器
May 18 Python
django admin组件使用方法详解
Jul 19 Python
Django ImageFiled上传照片并显示的方法
Jul 28 Python
Python lambda表达式filter、map、reduce函数用法解析
Sep 11 Python
python数据化运营的重要意义
Nov 25 Python
Python图像处理库PIL中图像格式转换的实现
Feb 26 Python
分享几种python 变量合并方法
Mar 20 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
phpBB BBcode处理的漏洞
2006/10/09 PHP
一步一步学习PHP(7) php 字符串相关应用
2010/03/05 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
php代码调试利器firephp安装与使用方法分析
2018/08/21 PHP
使用jQuery简化Ajax开发 Ajax开发入门
2009/10/14 Javascript
JavaScript 基础篇之对象、数组使用介绍(三)
2012/04/07 Javascript
JS简单实现文件上传实例代码(无需插件)
2013/11/15 Javascript
Event altKey,ctrlKey,shiftKey属性解析
2013/12/18 Javascript
javaScript中Math()函数注意事项
2015/06/18 Javascript
EasyUI创建对话框的两种方式
2016/08/23 Javascript
Jquery实现跨域异步上传文件总结
2017/02/03 Javascript
基于JavaScript实现焦点图轮播效果
2017/03/27 Javascript
利用javascript如何随机生成一定位数的密码
2017/09/22 Javascript
angularJs 表格添加删除修改查询方法
2018/02/27 Javascript
JS实现点击li标签弹出对应的索引功能【案例】
2019/02/18 Javascript
用webpack4开发小程序的实现方法
2019/06/04 Javascript
js简单粗暴的发布订阅示例代码
2021/01/23 Javascript
[08:17]Ti9 现场cosplay
2019/09/10 DOTA
[01:06:43]完美世界DOTA2联赛PWL S3 PXG vs GXR 第二场 12.19
2020/12/24 DOTA
详细解读Python中解析XML数据的方法
2015/10/15 Python
python中numpy.zeros(np.zeros)的使用方法
2017/11/07 Python
Python中顺序表的实现简单代码分享
2018/01/09 Python
python smtplib模块自动收发邮件功能(二)
2018/05/22 Python
[机器视觉]使用python自动识别验证码详解
2019/05/16 Python
pytorch 在网络中添加可训练参数,修改预训练权重文件的方法
2019/08/17 Python
在 Jupyter 中重新导入特定的 Python 文件(场景分析)
2019/10/27 Python
Python2手动安装更新pip过程实例解析
2020/07/16 Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
2020/11/22 Python
英国玛莎百货新西兰:Marks & Spencer New Zealand
2019/07/21 全球购物
网络工程师面试(三木通信技术有限公司)
2013/06/05 面试题
影视制作岗位职责
2013/12/04 职场文书
2014年党课学习材料
2014/05/11 职场文书
计算机网络专业求职信
2014/06/05 职场文书
教育局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
银行柜员与客户起冲突检讨书
2014/09/27 职场文书
Django debug为True时,css加载失败的解决方案
2021/04/24 Python