如何使用Python中的datetime模块中的strftime函数来格式化日期时间?
在Python中,日期和时间可以使用datetime模块来处理。其中,strftime函数是一个非常强大的函数,可以将日期和时间转换成任何格式的字符串。 strftime函数可以将日期和时间格式化为指定的字符串格式。不同的格式化字符含义不同,下面详细介绍strftime函数的常用格式。
基本使用方法:
from datetime import datetime
dt = datetime.now()
print(dt.strftime('%Y-%m-%d %H:%M:%S'))
输出结果:
2022-09-01 15:33:26
这里我们调用了现在的时间,并使用strftime格式化为年-月-日 时:分:秒的形式。
常用格式:
- %y 两位数的年份表示(00-99)
- %Y 四位数的年份表示(0000-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 当前时区的名称
- %% %号本身
例子:
dt = datetime.now()
# 打印:“2022”
print(dt.strftime('%Y'))
# 打印:“22”
print(dt.strftime('%y'))
# 打印:“09”
print(dt.strftime('%m'))
# 打印:“1”
print(dt.strftime('%-m'))
# 打印:“01”
print(dt.strftime('%02m'))
# 打印:“01”
print(dt.strftime('%d'))
# 打印:“1”
print(dt.strftime('%-d'))
# 打印:“01”
print(dt.strftime('%02d'))
# 打印:“16:43”
print(dt.strftime('%H:%M'))
# 打印:“04:43 PM”
print(dt.strftime('%I:%M %p'))
# 打印:“星期三”
print(dt.strftime('%A'))
# 打印:“Wed”
print(dt.strftime('%a'))
# 打印:“Sep”
print(dt.strftime('%b'))
# 打印:“September”
print(dt.strftime('%B'))
# 打印:“2022-09-01”
print(dt.strftime('%Y-%m-%d'))
# 打印:“2022-09-01 16:43:49”
print(dt.strftime('%Y-%m-%d %H:%M:%S'))
除此之外,strftime函数还支持通过提供自定义格式来格式化输出日期和时间。例如,以下代码演示了如何使用自定义格式化字符串将时间转换为字符串:
dt = datetime.now()
newformat = dt.strftime("Today is %A, %B %d, %Y. The time is %I:%M%p.")
print(newformat)
输出结果:
Today is Thursday, September 01, 2022. The time is 04:43PM.
在上面的代码中,我们提供了一个自定义字符串来格式化日期和时间,并使用strftime函数将它们转换成字符串。
总结一下:
strftime函数是Python datetime模块中的一个非常强大的函数,可以将日期和时间格式化为指定的字符串格式。上面我们介绍了strftime的常用格式,以及如何使用自定义格式化字符串来格式化日期和时间。这将帮助您更好地理解如何使用strftime函数在Python中处理日期和时间。
