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实现批量转换文件编码的方法
Jul 28 Python
Python画柱状统计图操作示例【基于matplotlib库】
Jul 04 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
May 07 Python
python命令 -u参数用法解析
Oct 24 Python
使用OpenCV circle函数图像上画圆的示例代码
Dec 27 Python
关于Pytorch的MNIST数据集的预处理详解
Jan 10 Python
解决tensorflow添加ptb库的问题
Feb 10 Python
Tensorflow tf.nn.depthwise_conv2d如何实现深度卷积的
Apr 20 Python
python 在threading中如何处理主进程和子线程的关系
Apr 25 Python
基于python计算并显示日间、星期客流高峰
May 07 Python
在TensorFlow中实现矩阵维度扩展
May 22 Python
分析Python感知线程状态的解决方案之Event与信号量
Jun 16 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
PHPMyAdmin 快速配置方法
2009/05/11 PHP
zen cart新进商品的随机排序修改方法
2010/09/10 PHP
Codeigniter框架的更新事务(transaction)BUG及解决方法
2014/07/25 PHP
PHP给文字内容中的关键字进行套红处理
2016/04/12 PHP
PHP的AES加密算法完整实例
2016/07/20 PHP
Laravel框架用户登陆身份验证实现方法详解
2017/09/14 PHP
Javascript 强制类型转换函数
2009/05/17 Javascript
使用Post提交时须将空格转换成加号的解释
2013/01/14 Javascript
Javascript判断对象是否相等实现代码
2013/03/18 Javascript
jQuery中mouseover事件用法实例
2014/12/26 Javascript
15款jQuery分布引导插件分享
2015/02/04 Javascript
在JavaScript中操作时间之getMonth()方法的使用
2015/06/10 Javascript
轻松学习Javascript闭包函数
2015/12/15 Javascript
JavaScript中闭包的写法和作用详解
2016/06/29 Javascript
基于JavaScript实现右键菜单和拖拽功能
2016/11/28 Javascript
利用JavaScript缓存远程窃取Wi-Fi密码的思路详解
2018/11/05 Javascript
JS删除String里某个字符的方法
2021/01/06 Javascript
微信小程序使用Vant Weapp组件库的方法步骤
2019/08/01 Javascript
一篇文章让你搞懂JavaScript 原型和原型链
2020/11/23 Javascript
python模块restful使用方法实例
2013/12/10 Python
浅谈Python中copy()方法的使用
2015/05/21 Python
Python中用sleep()方法操作时间的教程
2015/05/22 Python
python mongo 向数据中的数组类型新增数据操作
2020/12/05 Python
世界上最大的巴士旅游观光公司:Big Bus Tours
2016/10/20 全球购物
世界领先的艺术图书出版社:TASCHEN
2018/07/23 全球购物
德国在线订购鲜花:Fleurop
2018/08/25 全球购物
The Kooples美国官方网站:为情侣提供的法国当代时尚品牌
2019/01/03 全球购物
《赵州桥》教学反思
2014/02/17 职场文书
平安家庭示范户事迹
2014/06/02 职场文书
体育教育毕业生自荐信
2014/06/29 职场文书
学校运动会广播稿
2014/10/11 职场文书
办公室务虚会发言材料
2014/10/20 职场文书
世界卫生日宣传活动总结
2015/02/09 职场文书
2015秋季开学典礼新闻稿
2015/07/17 职场文书
2016廉政教育学习心得体会
2016/01/25 职场文书
基于Redis延迟队列的实现代码
2021/05/13 Redis