Python datetime模块strftime与strptime格式化详解

桃夭
桃夭
发布时间:2026-10-13 | 5人浏览过
原创

本文详解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天

以上就是本文的全部内容,希望对各位的学习有所帮助,欢迎大家继续支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表