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中selenium实现文件上传所有方法整理总结
Apr 01 Python
用tensorflow构建线性回归模型的示例代码
Mar 05 Python
numpy 进行数组拼接,分别在行和列上合并的实例
May 08 Python
在Pycharm中修改文件默认打开方式的方法
Jan 17 Python
python 通过可变参数计算n个数的乘积方法
Jun 13 Python
解决pycharm remote deployment 配置的问题
Jun 27 Python
新手如何发布Python项目开源包过程详解
Jul 11 Python
利用python-docx模块写批量生日邀请函
Aug 26 Python
python3 Scrapy爬虫框架ip代理配置的方法
Jan 17 Python
Python调用.net动态库实现过程解析
Jun 05 Python
python制作图形界面的2048游戏, 基于tkinter
Apr 06 Python
python爬取企查查企业信息之selenium自动模拟登录企查查
Apr 08 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自定session保存路径及删除、注销与写入的方法
2014/11/18 PHP
Yii使用smsto短信接口的函数demo示例
2016/07/13 PHP
CSS3画一个阴阳八卦图
2021/03/09 HTML / CSS
js加解密 脚本解密
2008/02/22 Javascript
JavaScript 组件之旅(四):测试 JavaScript 组件
2009/10/28 Javascript
如何用JavaScript动态呼叫函数(两种方式)
2013/05/03 Javascript
浅谈js的setInterval事件
2014/12/05 Javascript
Bootstrap每天必学之折叠
2016/04/12 Javascript
Bootstrap在线电子商务网站实战项目5
2016/10/14 Javascript
JavaScript重定向URL参数的两种方法小结
2016/10/19 Javascript
半个小时学json(json传递示例)
2016/12/25 Javascript
Angular开发者指南之入门介绍
2017/03/05 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
2017/05/20 Javascript
极简主义法编写JavaScript类
2017/11/02 Javascript
Vue中的基础过渡动画及实现原理解析
2018/12/04 Javascript
使用vue开发移动端管理后台的注意事项
2019/03/07 Javascript
微信小程序事件对象中e.target和e.currentTarget的区别详解
2019/05/08 Javascript
LayUi数据表格自定义赋值方式
2019/10/26 Javascript
jQuery实现可以扩展的日历
2020/12/01 jQuery
[07:49]2014DOTA2国际邀请赛 Newbee夺冠后采访xiao8坦言奖金会上交
2014/07/23 DOTA
用Python编写一个每天都在系统下新建一个文件夹的脚本
2015/05/04 Python
django 修改server端口号的方法
2018/05/14 Python
基于DataFrame改变列类型的方法
2018/07/25 Python
解决python测试opencv时imread导致的错误问题
2019/01/26 Python
python安装requests库的实例代码
2019/06/25 Python
python time.sleep()是睡眠线程还是进程
2019/07/09 Python
Python Scrapy框架第一个入门程序示例
2020/02/05 Python
Amara美国站:英国高端家居礼品网站,世界各地的奢侈家具品牌
2017/07/26 全球购物
幼儿园毕业家长感言
2014/02/10 职场文书
装修活动策划方案
2014/08/27 职场文书
房产公证书样本
2015/01/23 职场文书
搞笑婚前保证书
2015/02/28 职场文书
文明旅游倡议书
2015/04/28 职场文书
小学生安全教育心得体会
2016/01/15 职场文书
python3 hdf5文件 遍历代码
2021/05/19 Python
css中z-index: 0和z-index: auto的区别
2021/08/23 HTML / CSS