如何在R语言中修改日期格式?现有代码执行失败求助
R语言日期格式转换解决方案
你的代码失败的核心问题是格式符使用完全错误:
%M代表分钟(并非月份),%D是月/日/年的简写格式,和你输入的"May 29, 2015"格式完全不匹配- 输入日期是「英文月份缩写+空格+日期+逗号+空格+四位年份」结构,需要对应正确的格式符
正确实现分两步:
- 将字符串转换为R的标准日期对象
- 把日期对象格式化为你需要的「两位月份,两位日期,四位年份」格式
具体代码如下:
# 第一步:将字符串转为日期对象,匹配输入格式 housing$SaleDate_date <- as.Date(housing$SaleDate, format = "%b %d, %Y") # 第二步:格式化日期对象为目标格式 housing$SaleDate_formatted <- format(housing$SaleDate_date, format = "%m,%d,%Y")
如果不需要保留原始日期对象,也可以合并成一行:
housing$SaleDate <- format(as.Date(housing$SaleDate, format = "%b %d, %Y"), "%m,%d,%Y")
关键格式符说明:
%b:匹配英文月份缩写(如May)%d:匹配两位数字的日期(如29)%Y:匹配四位数字的年份(如2015)%m:输出两位数字的月份(如05)
内容的提问来源于stack exchange,提问作者Suehi
相关产品推荐
相关产品推荐

