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遍历zip文件输出名称时出现乱码问题的解决方法
Apr 08 Python
python抓取网页中图片并保存到本地
Dec 01 Python
python 回调函数和回调方法的实现分析
Mar 23 Python
利用Python如何生成hash值示例详解
Dec 20 Python
Python文件如何引入?详解引入Python文件步骤
Dec 10 Python
使用Template格式化Python字符串的方法
Jan 22 Python
详解Python学习之安装pandas
Apr 16 Python
python+OpenCV实现车牌号码识别
Nov 08 Python
Python大数据之网络爬虫的post请求、get请求区别实例分析
Nov 16 Python
pytorch 数据处理:定义自己的数据集合实例
Dec 31 Python
在jupyter notebook 添加 conda 环境的操作详解
Apr 10 Python
python类共享变量操作
Sep 03 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 验证登陆类分享
2015/03/13 PHP
Yaf框架封装的MySQL数据库操作示例
2019/03/06 PHP
传递参数的标准方法(jQuery.ajax)
2008/11/19 Javascript
javascript中的float运算精度实例分析
2010/08/21 Javascript
JS实现侧悬浮浮动实例代码
2013/11/29 Javascript
你可能不知道的JavaScript的new Function()方法
2014/04/17 Javascript
js和jquery设置disabled属性为true使按钮失效
2014/08/07 Javascript
node.js中的fs.fstatSync方法使用说明
2014/12/15 Javascript
javascript使用smipleChart实现简单图表
2015/01/02 Javascript
深入浅析NodeJs并发异步的回调处理
2015/12/21 NodeJs
Seajs 简易文档 提供简单、极致的模块化开发体验
2016/04/13 Javascript
JavaScript接口的实现三种方式(推荐)
2016/06/14 Javascript
HTML页面,测试JS对C函数的调用简单实例
2016/08/09 Javascript
深入理解JavaScript中的块级作用域、私有变量与模块模式
2016/10/31 Javascript
详解微信小程序中var、let、const用法与区别
2020/01/11 Javascript
使用typescript改造koa开发框架的实现
2020/02/04 Javascript
解决ant design vue中树形控件defaultExpandAll设置无效的问题
2020/10/26 Javascript
用vue设计一个日历表
2020/12/03 Vue.js
[43:35]TI4 循环赛第二日Liquid vs Fnatic
2014/07/11 DOTA
Python装饰器知识点补充
2018/05/28 Python
set在python里的含义和用法
2019/06/24 Python
Django 实现图片上传和显示过程详解
2019/07/18 Python
html5 div布局与table布局详解
2016/11/16 HTML / CSS
世界最大域名注册商:GoDaddy
2016/07/24 全球购物
配置管理计划的主要内容有哪些
2014/06/20 面试题
商务主管岗位职责
2013/12/08 职场文书
《植物妈妈有办法》教学反思
2014/02/25 职场文书
歌颂祖国的演讲稿
2014/05/04 职场文书
妈妈活动方案
2014/08/15 职场文书
2014年中秋节活动总结
2014/08/29 职场文书
三年级学生期末评语
2014/12/26 职场文书
2015最新民情日记范文
2015/06/26 职场文书
关于车尾的标语大全
2015/08/11 职场文书
MySQL 聚合函数排序
2021/07/16 MySQL
Python中可变和不可变对象的深入讲解
2021/08/02 Python
漫画「日和酱的要求是绝对的」第3卷封面公开
2022/03/21 日漫