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生成不重复随机值的方法
May 11 Python
Python使用BeautifulSoup库解析HTML基本使用教程
Mar 31 Python
python中星号变量的几种特殊用法
Sep 07 Python
Python中扩展包的安装方法详解
Jun 14 Python
python生成随机图形验证码详解
Nov 08 Python
对Tensorflow中的变量初始化函数详解
Jul 27 Python
python判断所输入的任意一个正整数是否为素数的两种方法
Jun 27 Python
对python 调用类属性的方法详解
Jul 02 Python
python opencv实现证件照换底功能
Aug 19 Python
Python操作SQLite数据库过程解析
Sep 02 Python
python实现按关键字筛选日志文件
Dec 24 Python
计算pytorch标准化(Normalize)所需要数据集的均值和方差实例
Jan 15 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下通过系统信号量加锁方式获取递增序列ID
2009/09/25 PHP
PHP中冒号、endif、endwhile、endfor使用介绍
2010/04/28 PHP
php的array_multisort()使用方法介绍
2012/05/16 PHP
php中 $$str 中 "$$" 的详解
2015/07/06 PHP
Yii使用Captcha验证码的方法
2015/12/28 PHP
php实现HTML实体编号与非ASCII字符串相互转换类实例
2016/11/02 PHP
JavaScript中继承的一些示例方法与属性参考
2010/08/07 Javascript
js最简单的拖拽效果实现代码
2010/09/24 Javascript
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
2011/02/25 Javascript
javascript克隆对象深度介绍
2012/11/20 Javascript
Javascript new Date().valueOf()的作用与时间戳由来详解
2013/04/24 Javascript
网页运行时提示对象不支持abigimage属性或方法
2014/08/10 Javascript
JavaScript检测鼠标移动方向的方法
2015/05/22 Javascript
详解jQuery中的deferred对象的使用(一)
2016/05/27 Javascript
js鼠标单击和双击事件冲突问题的快速解决方法
2016/07/11 Javascript
JS实现页面载入时随机显示图片效果
2016/09/07 Javascript
js获取指定字符前/后的字符串简单实例
2016/10/27 Javascript
浅谈手写node可读流之流动模式
2018/06/01 Javascript
移动端如何用下拉刷新的方式实现上拉加载
2018/12/10 Javascript
微信小程序实现下滑到底部自动翻页功能
2020/03/07 Javascript
JS手写一个自定义Promise操作示例
2020/03/16 Javascript
解决Vue 移动端点击出现300毫秒延迟的问题
2020/07/21 Javascript
python在windows下实现ping操作并接收返回信息的方法
2015/03/20 Python
python中nan与inf转为特定数字方法示例
2017/05/11 Python
Python sqlite3事务处理方法实例分析
2017/06/19 Python
Python列表生成式与生成器操作示例
2018/08/01 Python
pyinstaller还原python代码过程图解
2020/01/08 Python
在pycharm中使用pipenv创建虚拟环境和安装django的详细教程
2020/11/30 Python
python+playwright微软自动化工具的使用
2021/02/02 Python
HTML5边玩边学(3)像素和颜色
2010/09/21 HTML / CSS
Lime Crime官网:美国一家主打梦幻精灵系的彩妆品牌
2019/03/22 全球购物
幼儿教师自我鉴定
2013/11/02 职场文书
创建精神文明单位实施方案
2014/03/08 职场文书
企业演讲稿范文大全
2014/05/20 职场文书
银行反四风对照检查材料
2014/09/29 职场文书
2016党员入党决心书
2015/09/22 职场文书