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实现的文本简单可逆加密算法示例
May 18 Python
单链表反转python实现代码示例
Feb 08 Python
Python中max函数用于二维列表的实例
Apr 03 Python
详解python里的命名规范
Jul 16 Python
python实现LBP方法提取图像纹理特征实现分类的步骤
Jul 11 Python
深入了解Django View(视图系统)
Jul 23 Python
python numpy 常用随机数的产生方法的实现
Aug 21 Python
解决TensorFlow GPU版出现OOM错误的问题
Feb 03 Python
python GUI库图形界面开发之PyQt5图片显示控件QPixmap详细使用方法与实例
Feb 27 Python
python递归函数求n的阶乘,优缺点及递归次数设置方式
Apr 02 Python
深入了解python列表(LIST)
Jun 08 Python
Python数据可视化之基于pyecharts实现的地理图表的绘制
Jun 10 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
别人整理的服务器变量:$_SERVER
2006/10/20 PHP
把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。
2011/06/24 PHP
php中使用Imagick实现图像直方图的实现代码
2011/08/30 PHP
ThinkPHP 表单自动验证运用示例
2014/10/13 PHP
PHP使用PDO操作数据库的乱码问题解决方法
2016/04/08 PHP
JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型
2012/10/11 Javascript
Backbone.js的Hello World程序实例
2015/06/19 Javascript
DEDECMS如何为文章添加HOT NEW标志图片
2015/08/14 Javascript
Javascript实现的简单右键菜单类
2015/09/23 Javascript
vue.js 微信支付前端代码分享
2018/02/10 Javascript
详解在React-Native中持久化redux数据
2019/05/22 Javascript
vue-cli2与vue-cli3在一台电脑共存的实现方法
2019/09/25 Javascript
JavaScript Dom 绑定事件操作实例详解
2019/10/02 Javascript
JS script脚本中async和defer区别详解
2020/06/24 Javascript
nestjs返回给前端数据格式的封装实现
2021/02/22 Javascript
[01:04:48]VGJ.S vs TNC Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
Python格式化css文件的方法
2015/03/10 Python
python执行等待程序直到第二天零点的方法
2015/04/23 Python
详解Python设计模式编程中观察者模式与策略模式的运用
2016/03/02 Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
2017/11/14 Python
Python 修改列表中的元素方法
2018/06/26 Python
PyTorch中 tensor.detach() 和 tensor.data 的区别详解
2020/01/06 Python
python 基于DDT实现数据驱动测试
2021/02/18 Python
康拓普公司Java笔面试
2016/09/23 面试题
J2EE模式面试题
2016/10/11 面试题
应届大学生自荐信格式
2013/09/21 职场文书
应届大学毕业生找工作的求职信范文
2013/11/29 职场文书
行政部主管岗位职责
2013/12/28 职场文书
给酒店员工的表扬信
2014/01/11 职场文书
和平主题的演讲稿
2014/01/12 职场文书
爱护花草树木的标语
2014/06/11 职场文书
关爱老人标语
2014/06/21 职场文书
检讨书格式
2019/04/25 职场文书
nginx location优先级的深入讲解
2021/03/31 Servers
jquery插件实现悬浮的菜单
2021/04/24 jQuery
java objectUtils 使用可能会出现的问题
2022/02/28 Java/Android