Python中能否停用%d整数占位符以用于字符串转datetime时间转换
你遇到的报错和Python普通字符串格式化的%d整数占位符完全无关,不需要做任何“停用占位符”的操作。datetime.strptime方法的格式控制符是独立的规则体系,和Python原生字符串格式化的占位符逻辑互不干扰。
本次报错的核心原因是你误用了年份格式符:
%y仅能匹配两位年份,比如21对应2021年
你输入的时间字符串中年份为四位完整格式2021,需要使用大写的%Y进行匹配
修正后的代码如下:
from datetime import datetime datetime.strptime("5/20/2021 05:56:19", '%m/%d/%Y %H:%M:%S')
补充常用格式符区分方便后续使用:
%y:匹配两位年份,取值范围0099,默认对应19692068年%Y:匹配四位完整年份,可识别任意合法的公元年份%d在strptime规则里本身就是用于匹配日期的占位符,和字符串格式化里的整数占位符没有冲突,不需要额外处理
内容的提问来源于stack exchange,提问作者Remo
相关产品推荐
相关产品推荐

