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下载FTP上的文件夹的实现代码
Feb 10 Python
Python中使用HTMLParser解析html实例
Feb 08 Python
Python对象转JSON字符串的方法
Apr 27 Python
深入浅析python定时杀进程
Jun 06 Python
python中异常报错处理方法汇总
Nov 20 Python
selenium+python实现自动登录脚本
Apr 22 Python
python获取中文字符串长度的方法
Nov 14 Python
如何安装2019Pycharm最新版本(详细教程)
Sep 26 Python
Python对称的二叉树多种思路实现方法
Feb 28 Python
python模拟哔哩哔哩滑块登入验证的实现
Apr 24 Python
详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
Jan 29 Python
Python 装饰器(decorator)常用的创建方式及解析
Apr 24 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
PHILIPS AE3805收音机的分析打磨
2021/03/02 无线电
使用Xdebug调试和优化PHP程序之[1]
2007/04/17 PHP
PHPMYADMIN 简明安装教程 推荐
2010/03/07 PHP
PHP中通过加号合并数组的一个简单方法分享
2011/01/27 PHP
解析PHP生成静态html文件的三种方法
2013/06/18 PHP
php 常用算法和时间复杂度
2013/07/01 PHP
ThinkPHP3.1查询语言详解
2014/06/19 PHP
Windows 下安装 swoole 图文教程(php)
2017/06/05 PHP
PHP 二维array转换json的实例讲解
2018/08/21 PHP
php实现数组重复数字统计实例
2018/09/30 PHP
PHP实现cookie跨域session共享的方法分析
2019/08/23 PHP
一个javascript参数的小问题
2008/03/02 Javascript
什么是JavaScript
2009/08/13 Javascript
JavaScript 对象成员的可见性说明
2009/10/16 Javascript
Dojo获取下拉框的文本和值实例代码
2016/05/27 Javascript
JS如何设置cookie有效期为当天24点并弹出欢迎登陆界面
2016/08/04 Javascript
微信小程序 开发之滑块视图容器(swiper)详解及实例代码
2017/02/22 Javascript
JS中使用media实现响应式布局
2017/08/04 Javascript
探索Vue高阶组件的使用
2018/01/08 Javascript
react.js组件实现拖拽复制和可排序的示例代码
2018/08/20 Javascript
webpack优化之代码分割与公共代码提取详解
2019/11/22 Javascript
vuex实现购物车功能
2020/06/28 Javascript
JS sort方法基于数组对象属性值排序
2020/07/10 Javascript
php使用递归与迭代实现快速排序示例
2014/01/23 Python
python端口扫描系统实现方法
2014/11/19 Python
简介Python的collections模块中defaultdict类型的用法
2016/07/07 Python
Python字符编码与函数的基本使用方法
2017/09/30 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
python快速排序的实现及运行时间比较
2019/11/22 Python
Python 跨.py文件调用自定义函数说明
2020/06/01 Python
python中altair可视化库实例用法
2021/01/26 Python
深入解读CSS3中transform变换模型的渲染
2016/05/27 HTML / CSS
阿迪达斯香港官网:adidas香港
2019/11/09 全球购物
社区党员先进事迹
2014/01/22 职场文书
建国大业观后感800字
2015/06/01 职场文书
婚宴致辞
2015/07/28 职场文书