社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

【Python】Python中的时间函数strftime与strptime对比

机器学习初学者 • 5 年前 • 481 次点击  

strftime与strptime这两个函数,初看真是一脸懵逼,不是同一个么,对于小萌新来说,多少有点晕菜了,随时可能把两者混淆,导致程序报错或者出现小bug,查询了几个小时,到最后才发现竟然一个字母的差别.......顿时泪崩!!!

 

两个函数的区别

strftime:将给定格式的日期时间对象转换为字符串。日期时间对象=>字符串,控制输出格式

strptime:将字符串解析为给定格式的日期时间对象。字符串=>日期时间对象,解析字符串


strftime

strptime

用法

日期时间对象=>字符串,控制输出格式

字符串=>日期时间对象,解析字符串

类型

实例方法

类方法

方法

date; datetime; time

datetime

用法

strftime(format)

strptime(date_string, format)

示例

datetime.datetime(2006,11,21,16,30) =>  '2006-11-21 16:30'

"21/11/06 16:30" => datetime.datetime(2006, 11, 21, 16, 30)

 

strftime函数

作用:将给定格式的日期时间对象转换为字符串。日期时间对象=>字符串,控制日期时间对象的输出格式,date、datetime、time对象都支持strftime(format) 方法,可用来创建由一个显式格式字符串所控制的表示时间的字符串。要获取格式指令的完整列表,查看文末列表。

用法:datetime.strftime(format)

import datetimedt=datetime.datetime(2006, 11, 21, 16, 30)dt.strftime("%Y-%m-%d %H:%M")'2006-11-21 16:30'
dt.strftime("%Y-%m-%d")'2006-11-21'
dt.strftime("%A, %d. %B %Y %I:%M%p")'Tuesday, 21. November 2006 04:30PM

 

strptime函数

作用:按照特定时间格式将字符串转换(解析)为时间类型。返回一个由显式格式字符串所指明的代表时间的字符串。要获取格式指令的完整列表,查看文末列表。

语法:datetime.strptime(date_string, format)

import datetimedt=datetime.datetime.strptime("21/11/06 16:30", "%d/%m/%y %H:%M")print(dt)2006-11-21 16:30:00dtdatetime.datetime(2006, 11, 21, 16, 30)

 

现在小伙伴们清楚了没有?strftime是转换为特定格式输出,而strptime是将一个(时间)字符串解析为时间的一个类型对象。一个是按照想要的格式,去转换。重点是格式!另外一个不管什么格式,我只要把特定的时间字符串转成时间类型即可!虽然只是一个字母之差,但是意义和侧重点完全不一样啊!

 


格式指令完整列表

%y    两位数的年份表示(00-99)%Y    四位数的年份表示(000-9999)%m   月份(01-12)%d    月内中的一天(0-31)%H   24小时制小时数(0-23)%I    12小时制小时数(01-12)%M  分钟数(00=59)%S    秒(00-59)%a    本地简化星期名称%A   本地完整星期名称%b   本地简化的月份名称%B   本地完整的月份名称%c   本地相应的日期表示和时间表示%j    年内的一天(001-366)%p   本地A.M.或P.M.的等价符%U   一年中的星期数(00-53)星期天为星期的开始%w   星期(0-6),星期天为星期的开始%W   一年中的星期数(00-53)星期一为星期的开始%x   本地相应的日期表示%X   本地相应的时间表示%Z   当前时区的名称%%   %号本身

更完整的说明阅读原文获取

···  END  ···



    
往期精彩回顾




本站qq群851320808,加入微信群请扫码:
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/116754