在 Python 编程中使用日期和时间时,经常使用两个方法:strftime() 和 strptime()。这两个方法用于格式化和解析日期和时间字符串。了解 strftime() 和 strptime() 之间的差异对于准确操作和显示代码中的日期和时间信息至关重要。
strftime() 方法strftime() 方法用于将 datetime 对象格式化为字符串表示形式。
允许自定义特殊的格式,将 datetime 对象转换为人类可读的日期和时间字符串。
语法:
time.strftime(format[, t])
参数:
format -- 格式字符串。t -- 可选的参数 t 是一个 struct_time 对象。格式化符号:
%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 当前时区的名称%% %号本身示例:
import datetimenow = datetime.datetime.now()formatted_date = now.strftime("%Y-%m-%d")formatted_time = now.strftime("%H:%M:%S")formatted_datetime = now.strftime("%Y-%m-%d %H:%M:%S")print(formatted_date)print(formatted_time)print(formatted_datetime)# 输出:2024-08-0714:35:312024-08-07 14:35:31注意事项:
strftime() 方法会认为 datetime 对象已包含正确的日期和时间值。如果 datetime 对象创建错误,strftime() 仍会格式化它,而不会出现任何错误警告。
strptime() 方法strptime() 方法根据指定的格式把一个时间字符串解析为时间元组。
语法:
time.strptime(string[, format])
参数:
string -- 时间字符串。format -- 格式化字符串。格式化符号:
import timedatetime_format = "%Y-%m-%d %H:%M:%S"datetime_str = "2024-08-07 15:23:10"struct_datetime = time.strptime(datetime_str, datetime_format)print(struct_datetime)# 输出:time.struct_time(tm_year=2024, tm_mon=8, tm_mday=7, tm_hour=15, tm_min=23, tm_sec=10, tm_wday=2, tm_yday=220, tm_isdst=-1)strptime() 方法将日期和时间的字符串表示形式解析时间元组,为我们在 Python 中操作时间提供了方便。在使用该方法时需要注意输入的字符串和格式描述符是否匹配,否则会抛出异常。