Python datetime模块strftime与strptime格式化详解
本文详解Python datetime模块中strftime和strptime函数的用法,涵盖日期与字符串互转的核心逻辑。文章列举了完整的格式化符号表(如%Y、%m、%d等),并通过具体代码示例展示如何生成特定格式的时间字符串,帮助开发者掌握时间处理技巧。
Python中的datetime模块整合了date和time的功能,其提供的常见属性和方法在日常开发中应用广泛。
例如:
datetime.day、datetime.month和datetime.year分别用于获取datetime对象对应的日、月和年,具体用法如下:
from datetime import datetime dt=datetime.now() #创建一个datetime类对象 print dt.year,dt.month,dt.day ''' 输出为: 2015 3 8 '''
Python的datetime模块功能强大,内置了strftime和strptime函数,可实现日期格式与字符串格式之间的相互转换。
1. 将日期格式转换为字符串格式的函数为:datetime.datetime.strftime()。

2. 将字符串格式转换为日期格式的函数为:datetime.datetime.strptime()。

3. 这两个函数均依赖日期时间的格式化字符串,以下列出常用格式符:
%a 星期几的简写(如:Wed代表星期三) %A 星期几的全称(如:Wednesday代表星期三) %b 月份的简写(如:Apr代表4月) %B 月份的全称(如:April代表4月) %c 标准日期时间字符串(例如:04/07/10 10:43:39) %C 年份的后两位数字 %d 十进制表示的每月第几天 %D 月/天/年格式 %e 两字符域中十进制表示的每月第几天 %F 年-月-日格式 %g 基于周的年份后两位 %G 基于周的完整年份 %h 缩写的月份名 %H 24小时制的小时数 %I 12小时制的小时数 %j 十进制表示的每年第几天 %m 十进制表示的月份 %M 十进制表示的分钟数 %n 换行符 %p 本地化的AM或PM标识 %r 12小时制的时间表示 %R 显示小时和分钟(hh:mm) %S 十进制表示的秒数 %t 水平制表符 %T 显示时分秒(hh:mm:ss) %u 每周的第几天,星期一为第一天(值范围0-6,周一为0) %U 每年的第几周,以星期日作为第一天(值范围0-53) %V 每年的第几周,基于ISO周年的定义 %w 十进制表示的星期几(值范围0-6,周日为0) %W 每年的第几周,以星期一作为第一天(值范围0-53) %x 标准日期字符串 %X 标准时间字符串 %y 不带世纪的十进制年份(值范围0-99) %Y 带世纪的十进制年份 %z, %Z 时区名称,若无法获取时区名称则返回空字符串 %% 百分号字面量
以下是几个具体示例:
from datetime import datetime dt = datetime.now() print '时间:(%Y-%m-%d %H:%M:%S %f): ' , dt.strftime( '%Y-%m-%d %H:%M:%S %f' ) print '时间:(%Y-%m-%d %H:%M:%S %p): ' , dt.strftime( '%y-%m-%d %I:%M:%S %p' ) print '星期缩写%%a: %s ' % dt.strftime( '%a' ) print '星期全拼%%A: %s ' % dt.strftime( '%A' ) print '月份缩写%%b: %s ' % dt.strftime( '%b' ) print '月份全批%%B: %s ' % dt.strftime( '%B' ) print '日期时间%%c: %s ' % dt.strftime( '%c' ) print '今天是这周的第%s天 ' % dt.strftime( '%w' ) print '今天是今年的第%s天 ' % dt.strftime( '%j' ) print '今周是今年的第%s周 ' % dt.strftime( '%U' ) print '今天是当月的第%s天 ' % dt.strftime( '%d' )
输出结果如下:
时间:(%Y-%m-%d %H:%M:%S %f): 2015-03-08 23:30:42 181000 时间:(%Y-%m-%d %H:%M:%S %p): 15-03-08 11:30:42 PM 星期缩写%a: Sun 星期全拼%A: Sunday 月份缩写%b: Mar 月份全称%B: March 日期时间%c: 03/08/15 23:30:42 今天是这周的第0天 今天是今年的第067天 今周是今年的第10周 今天是当月的第08天
以上就是本文的全部内容,希望对各位的学习有所帮助,欢迎大家继续支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













