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中装饰器的用法
Apr 27 Python
Python计算三角函数之asin()方法的使用
May 15 Python
Python易忽视知识点小结
May 25 Python
python2.7的编码问题与解决方法
Oct 04 Python
Python解析json之ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)
Jul 06 Python
Python批量提取PDF文件中文本的脚本
Mar 14 Python
在python中按照特定顺序访问字典的方法详解
Dec 14 Python
Python3爬楼梯算法示例
Mar 04 Python
总结Python图形用户界面和游戏开发知识点
May 22 Python
python实现按关键字筛选日志文件
Dec 24 Python
vue学习笔记之动态组件和v-once指令简单示例
Feb 29 Python
python 利用百度API识别图片文字(多线程版)
Dec 14 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
第八节--访问方式
2006/11/16 PHP
支持数组的ADDSLASHES的php函数
2010/02/16 PHP
Smarty foreach控制循环次数的一些方法
2015/07/01 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
在js中使用"with"语句中跨frame的变量引用问题
2007/03/08 Javascript
JavaScript中Math对象方法使用概述
2014/01/02 Javascript
JQuery记住用户名和密码的具体实现
2014/04/04 Javascript
使用node.js 获取客户端信息代码分享
2014/11/26 Javascript
jQuery实现新消息闪烁标题提示的方法
2015/03/11 Javascript
js只执行1次的函数示例
2016/07/20 Javascript
mac上node.js环境的安装测试
2017/07/03 Javascript
vue 怎么创建组件及组件使用方法
2017/07/27 Javascript
Vue实战之vue登录验证的实现代码
2017/10/31 Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
2018/03/01 Javascript
JavaScript设计模式之缓存代理模式原理与简单用法示例
2018/08/07 Javascript
使用微信小程序开发弹出框应用实例详解
2018/10/18 Javascript
VUE实现图片验证码功能
2020/11/18 Javascript
微信小程序分享小程序码的生成(带参数)以及参数的获取
2020/03/25 Javascript
[38:39]完美世界DOTA2联赛循环赛 IO vs GXR BO2第二场 11.04
2020/11/05 DOTA
python中使用xlrd读excel使用xlwt写excel的实例代码
2018/01/31 Python
对python list 遍历删除的正确方法详解
2018/06/29 Python
Python+opencv 实现图片文字的分割的方法示例
2019/07/04 Python
python实现字符串完美拆分split()的方法
2019/07/16 Python
详解Django定时任务模块设计与实践
2019/07/24 Python
Python笔试面试题小结
2019/09/07 Python
python中对二维列表中一维列表的调用方法
2020/06/07 Python
Python中Selenium库使用教程详解
2020/07/23 Python
基于Pytorch版yolov5的滑块验证码破解思路详解
2021/02/25 Python
新西兰最大的品牌运动鞋购物网站:Platypus NZ
2017/10/27 全球购物
模具设计与制造专业应届生求职信
2013/10/18 职场文书
生日邀请函范文
2014/01/13 职场文书
50岁生日感言
2014/01/23 职场文书
铁路个人事迹材料
2014/01/30 职场文书
校园文明标语
2014/06/13 职场文书
霸气队列口号
2014/06/18 职场文书
老公保证书
2015/01/17 职场文书