Python如何将字符串转换为日期


Posted in Python onJuly 31, 2020

问题

你的应用程序接受字符串格式的输入,但是你想将它们转换为 datetime 对象以便在上面执行非字符串操作。

解决方案

使用Python的标准模块 datetime 可以很容易的解决这个问题。比如:

>>> from datetime import datetime
>>> text = '2012-09-20'
>>> y = datetime.strptime(text, '%Y-%m-%d')
>>> z = datetime.now()
>>> diff = z - y
>>> diff
datetime.timedelta(3, 77824, 177393)
>>>

讨论

datetime.strptime() 方法支持很多的格式化代码, 比如 %Y 代表4位数年份, %m 代表两位数月份。 还有一点值得注意的是这些格式化占位符也可以反过来使用,将日期输出为指定的格式字符串形式。

比如,假设你的代码中生成了一个 datetime 对象, 你想将它格式化为漂亮易读形式后放在自动生成的信件或者报告的顶部:

>>> z
datetime.datetime(2012, 9, 23, 21, 37, 4, 177393)
>>> nice_z = datetime.strftime(z, '%A %B %d, %Y')
>>> nice_z
'Sunday September 23, 2012'
>>>

还有一点需要注意的是, strptime() 的性能要比你想象中的差很多, 因为它是使用纯Python实现,并且必须处理所有的系统本地设置。 如果你要在代码中需要解析大量的日期并且已经知道了日期字符串的确切格式,可以自己实现一套解析方案来获取更好的性能。 比如,如果你已经知道所以日期格式是 YYYY-MM-DD ,你可以像下面这样实现一个解析函数:

from datetime import datetime
def parse_ymd(s):
  year_s, mon_s, day_s = s.split('-')
  return datetime(int(year_s), int(mon_s), int(day_s))

实际测试中,这个函数比 datetime.strptime() 快7倍多。 如果你要处理大量的涉及到日期的数据的话,那么最好考虑下这个方案!

以上就是Python如何将字符串转换为日期的详细内容,更多关于Python字符串转换为日期的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python 的 Socket 编程
Mar 24 Python
在Python的Django框架中获取单个对象数据的简单方法
Jul 17 Python
Python判断两个对象相等的原理
Dec 12 Python
pycharm下查看python的变量类型和变量内容的方法
Jun 26 Python
Django实现表单验证
Sep 08 Python
使用python根据端口号关闭进程的方法
Nov 06 Python
详解Python 定时框架 Apscheduler原理及安装过程
Jun 14 Python
Python 实现的 Google 批量翻译功能
Aug 26 Python
python tkinter之 复选、文本、下拉的实现
Mar 04 Python
Python函数生成器原理及使用详解
Mar 12 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
Aug 18 Python
Python基础数据类型tuple元组的概念与用法
Aug 02 Python
Python在字符串中处理html和xml的方法
Jul 31 #Python
python中selenium库的基本使用详解
Jul 31 #Python
Python过滤序列元素的方法
Jul 31 #Python
python中的django是做什么的
Jul 31 #Python
如何基于python把文字图片写入word文档
Jul 31 #Python
django教程如何自学
Jul 31 #Python
Python实现一个优先级队列的方法
Jul 31 #Python
You might like
PHP中利用substr_replace将指定两位置之间的字符替换为*号
2011/01/27 PHP
PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】
2017/04/19 PHP
28个JS验证函数收集
2010/03/02 Javascript
网页上的Javascript编辑器和代码格式化
2010/04/25 Javascript
Javascript面向对象之四 继承
2011/02/08 Javascript
遨游,飞飞,IE,空中网 浏览器无提示关闭方法
2011/07/11 Javascript
读jQuery之十一 添加事件核心方法
2011/07/31 Javascript
js将控件隐藏的方法及display属性介绍
2013/07/04 Javascript
jquery自定义下拉列表示例
2014/04/25 Javascript
JS非Alert实现网页右下角“未读信息”效果弹窗
2015/09/26 Javascript
基于JavaScript实现类似于百度学术高级检索功能
2016/03/02 Javascript
jQuery隐藏和显示效果实现
2016/04/06 Javascript
jQuery中图片展示插件highslide.js的简单dom
2018/04/22 jQuery
微信小程序的线程架构【推荐】
2019/05/14 Javascript
Angular 中使用 FineReport不显示报表直接打印预览
2019/08/21 Javascript
vue中进行微博分享的实例讲解
2019/10/14 Javascript
高效jQuery选择器的5个技巧实例分析
2019/11/26 jQuery
JavaScript实现简单验证码
2020/08/24 Javascript
python 多进程通信模块的简单实现
2014/02/20 Python
用map函数来完成Python并行任务的简单示例
2015/04/02 Python
Python实现的字典值比较功能示例
2018/01/08 Python
在交互式环境中执行Python程序过程详解
2019/07/12 Python
Python对接支付宝支付自实现功能
2019/10/10 Python
Python要求O(n)复杂度求无序列表中第K的大元素实例
2020/04/02 Python
Python flask框架实现查询数据库并显示数据
2020/06/04 Python
Python读取多列数据以及用matplotlib制作图表方法实例
2020/09/23 Python
CSS3 @media的基本用法总结
2019/09/10 HTML / CSS
迪卡侬荷兰官网:Decathlon荷兰
2017/10/29 全球购物
BISSELL官网:北美吸尘器第一品牌
2019/03/14 全球购物
手工制作的意大利皮革运动鞋:KOIO
2020/01/05 全球购物
JSF界面控制层技术
2013/06/17 面试题
资产评估专业学生的自我鉴定
2013/11/14 职场文书
大学自我鉴定
2013/12/20 职场文书
工伤赔偿协议书
2014/04/15 职场文书
大学优秀班主任事迹材料
2014/05/02 职场文书
银行求职自荐书
2014/06/25 职场文书