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发送邮件实例讲解(python发邮件附件可以使用email模块实现)
Dec 03 Python
python批量修改文件名的实现代码
Sep 01 Python
tensorflow实现对图片的读取的示例代码
Feb 12 Python
浅析PHP与Python进行数据交互
May 15 Python
基于Python列表解析(列表推导式)
Jun 23 Python
Python实现的爬取小说爬虫功能示例
Mar 30 Python
Python单元和文档测试实例详解
Apr 11 Python
Windows下pycharm创建Django 项目(虚拟环境)过程解析
Sep 16 Python
python3实现绘制二维点图
Dec 04 Python
Django数据结果集序列化并展示实现过程
Apr 22 Python
基于tensorflow for循环 while循环案例
Jun 30 Python
Python如何定义接口和抽象类
Jul 28 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
ThinkPHP3.1新特性之命名范围的使用
2014/06/19 PHP
ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
2014/08/25 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
2019/05/31 PHP
JavaScript 验证浏览器是否支持javascript的方法小结
2009/05/17 Javascript
JavaScript setTimeout和setInterval的使用方法 说明
2010/03/25 Javascript
基于Asp.net与Javascript控制的日期控件
2010/05/22 Javascript
javscript对象原型的一些看法
2010/09/19 Javascript
自定义的一个简单时尚js下拉选择框
2013/11/20 Javascript
form.submit()不能提交表单的原因分析
2014/10/23 Javascript
JS对象与json字符串格式转换实例
2014/10/28 Javascript
理解Javascript的动态语言特性
2015/06/17 Javascript
AngularJs  Understanding Angular Templates
2016/09/02 Javascript
jQuery使用getJSON方法获取json数据完整示例
2016/09/13 Javascript
JavaScript对象创建模式实例汇总
2016/10/03 Javascript
深入理解jquery中extend的实现
2016/12/22 Javascript
VUE中的无限循环代码解析
2017/09/22 Javascript
webpack打包并将文件加载到指定的位置方法
2018/02/22 Javascript
js实现简单页面全屏
2019/09/17 Javascript
Nuxt页面级缓存的实现
2020/03/09 Javascript
JavaScript WeakMap使用详解
2021/02/05 Javascript
[28:28]Ti4 冒泡赛第二天NEWBEE vs NaVi 2
2014/07/15 DOTA
python人人网登录应用实例
2014/09/26 Python
Python采用socket模拟TCP通讯的实现方法
2014/11/19 Python
python实现的DES加密算法和3DES加密算法实例
2015/06/03 Python
从局部变量和全局变量开始全面解析Python中变量的作用域
2016/06/16 Python
Python使用ctypes调用C/C++的方法
2019/01/29 Python
Python 3.8新特征之asyncio REPL
2019/05/28 Python
解决Tensorflow占用GPU显存问题
2020/02/03 Python
Python引入多个模块及包的概念过程解析
2020/09/21 Python
很酷的小工具和电子产品商城:GearBest
2016/11/19 全球购物
Casadei卡萨蒂官网:意大利奢侈鞋履品牌
2017/10/28 全球购物
英国Office鞋店德国网站:在线购买鞋子、靴子和运动鞋
2018/12/19 全球购物
双创工作实施方案
2014/03/26 职场文书
奉献爱心演讲稿
2014/09/04 职场文书
推广普通话主题班会
2015/08/17 职场文书
python pygame入门教程
2021/06/01 Python