YYYY-MM-DD格式日期转YYYYMMDD格式技术求助
解决日期格式转换问题:YYYY-MM-DD转YYYYMMDD
你当前代码使用的格式字符串%m/%d/%Y是错误的,它会生成月/日/年格式的字符串(比如11/01/2022),和你需要的无连字符YYYYMMDD格式不符。以下是正确的解决方法:
情况1:DateOfBirth已为datetime类型
直接使用正确的格式符%Y%m%d即可完成转换:
df['ConvertedDate'] = df['DateOfBirth'].dt.strftime('%Y%m%d')
格式符说明:
%Y:4位完整年份(如2022)%m:2位月份(带前导零,如11)%d:2位日期(带前导零,如01)
情况2:DateOfBirth是字符串类型
如果你的日期列还未转换为datetime类型,需要先完成类型转换,再格式化:
# 第一步:将字符串转为datetime类型 df['DateOfBirth'] = pd.to_datetime(df['DateOfBirth'], format='%Y-%m-%d') # 第二步:转换为目标格式 df['ConvertedDate'] = df['DateOfBirth'].dt.strftime('%Y%m%d')
替代方案(字符串直接替换)
如果能确保DateOfBirth列的字符串格式严格为YYYY-MM-DD,可以直接通过替换连字符实现转换,无需转datetime,效率更高:
df['ConvertedDate'] = df['DateOfBirth'].str.replace('-', '')
内容的提问来源于stack exchange,提问作者Tarun
相关产品推荐
相关产品推荐

