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 sys.path详细介绍
Oct 17 Python
python使用xauth方式登录饭否网然后发消息
Apr 11 Python
Python编程实现及时获取新邮件的方法示例
Aug 10 Python
pytorch + visdom 处理简单分类问题的示例
Jun 04 Python
Python OpenCV实现视频分帧
Jun 01 Python
远程部署工具Fabric详解(支持Python3)
Jul 04 Python
在pycharm下设置自己的个性模版方法
Jul 15 Python
Python流程控制常用工具详解
Feb 24 Python
python argparse模块通过后台传递参数实例
Apr 20 Python
为什么相对PHP黑python的更少
Jun 21 Python
用60行代码实现Python自动抢微信红包
Feb 04 Python
python绘制高斯曲线
Feb 19 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安装攻略:常见问题解答(三)
2006/10/09 PHP
php nginx 实时输出的简单实现方法
2018/01/21 PHP
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
2019/05/06 PHP
超级24小时弹窗代码 24小时退出弹窗代码 100%弹窗代码(IE only)
2010/06/11 Javascript
cookie 最近浏览记录(中文escape转码)具体实现
2013/06/08 Javascript
jQuery经过一段时间自动隐藏指定元素的方法
2015/03/17 Javascript
JS简单实现城市二级联动选择插件的方法
2015/08/19 Javascript
微信小程序实现带刻度尺滑块功能
2017/03/29 Javascript
JS实现unicode和UTF-8之间的互相转换互转
2017/07/05 Javascript
Vue+webpack项目配置便于维护的目录结构教程详解
2018/10/14 Javascript
微信小程序canvas.drawImage完全显示图片问题的解决
2018/11/30 Javascript
jquery实现弹窗(系统提示框)效果
2019/12/10 jQuery
Vue.js实现立体计算器
2020/02/22 Javascript
vue 限制input只能输入正数的操作
2020/08/05 Javascript
python的三目运算符和not in运算符使用示例
2014/03/03 Python
在cmd命令行里进入和退出Python程序的方法
2018/05/12 Python
Python subprocess库的使用详解
2018/10/26 Python
Python的几种主动结束程序方式
2019/11/22 Python
使用pandas的box_plot去除异常值
2019/12/10 Python
Pycharm最新激活码2019(推荐)
2019/12/31 Python
tensorflow如何继续训练之前保存的模型实例
2020/01/21 Python
CSS3 二级导航菜单的制作的示例
2018/04/02 HTML / CSS
香蕉共和国Banana Republic官网:美国GAP旗下偏贵族风格服饰品牌
2016/11/21 全球购物
迪拜航空官方网站:flydubai
2017/04/20 全球购物
捷克体育用品购物网站:D-sport
2017/12/28 全球购物
西班牙家用电器和电子产品购物网站:Mi Electro
2019/02/25 全球购物
外贸实习生自荐信范文
2013/11/24 职场文书
书法培训心得体会
2014/01/05 职场文书
森林防火工作方案
2014/02/14 职场文书
三八妇女节趣味活动方案
2014/08/23 职场文书
四风自我剖析材料
2014/09/30 职场文书
社会主义核心价值观主题教育活动总结
2015/05/07 职场文书
教师读书笔记
2015/06/29 职场文书
农贸批发市场管理制度
2015/08/07 职场文书
MySQL GTID复制的具体使用
2022/05/20 MySQL
Win11 PC上的Outlook搜索错误怎么办?
2022/07/15 数码科技