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操作摄像头截图实现远程监控的例子
Mar 25 Python
Python实现拷贝多个文件到同一目录的方法
Sep 19 Python
python入门基础之用户输入与模块初认识
Nov 14 Python
Python操作使用MySQL数据库的实例代码
May 25 Python
python中MethodType方法介绍与使用示例
Aug 03 Python
Python如何抓取天猫商品详细信息及交易记录
Feb 23 Python
python使用matplotlib库生成随机漫步图
Aug 27 Python
python替换字符串中的子串图文步骤
Jun 19 Python
对tensorflow中cifar-10文档的Read操作详解
Feb 10 Python
python实现信号时域统计特征提取代码
Feb 26 Python
Python子进程subpocess原理及用法解析
Jul 16 Python
python使用pymysql模块操作MySQL
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
php的控制语句
2006/10/09 PHP
谈谈新手如何学习PHP 默默经典版本
2009/08/04 PHP
destoon整合ucenter后注册页面不跳转的解决方法
2014/06/21 PHP
PHP exif扩展方法开启详解
2014/07/28 PHP
PHP中捕获超时事件的方法实例
2015/02/12 PHP
PHP对象的浅复制与深复制的实例详解
2017/10/26 PHP
学习YUI.Ext 第七天--关于View&JSONView
2007/03/10 Javascript
Javascript UrlDecode函数代码
2010/01/09 Javascript
js创建对象的几种常用方式小结(推荐)
2010/10/24 Javascript
JS的location.href跳出框架打开新页面的方法
2014/09/04 Javascript
javascript中Math.random()使用详解
2015/04/15 Javascript
javascript事件冒泡和事件捕获详解
2015/05/26 Javascript
使用 JavaScript 进行函数式编程 (一) 翻译
2015/10/02 Javascript
JavaScript实现图片自动加载的瀑布流效果
2016/04/11 Javascript
JavaScript:Date类型全面解析
2016/05/19 Javascript
Bootstrap Table使用心得总结
2016/11/29 Javascript
详解Vue 开发模式下跨域问题
2017/06/06 Javascript
Vue中如何实现轮播图的示例代码
2017/07/27 Javascript
AngularJS使用ng-repeat遍历二维数组元素的方法详解
2017/11/11 Javascript
JS 仿支付宝input文本输入框放大组件的实例
2017/11/14 Javascript
在webstorm中配置less的方法详解
2020/09/25 Javascript
[01:45]DOTA2新英雄“神谕者”全方位展示
2014/11/21 DOTA
Pycharm学习教程(4) Python解释器的相关配置
2017/05/03 Python
pytorch 实现在预训练模型的 input上增减通道
2020/01/06 Python
浅析移动设备HTML5页面布局
2015/12/01 HTML / CSS
伦敦一家非常流行的时尚精品店:Oxygen Boutique
2017/01/15 全球购物
施华洛世奇韩国官网:SWAROVSKI韩国
2018/06/05 全球购物
2014年计生标语
2014/06/23 职场文书
小学安全教育月活动总结
2014/07/07 职场文书
管理岗位竞聘演讲稿
2014/08/18 职场文书
乡镇干部个人对照检查材料思想汇报
2014/10/04 职场文书
2015年医德考评自我评价
2015/03/03 职场文书
简历自我评价范文
2019/04/24 职场文书
多表查询、事务、DCL
2021/04/05 MySQL
selenium.webdriver中add_argument方法常用参数表
2021/04/08 Python
Python深度学习之Pytorch初步使用
2021/05/20 Python