You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言中如何将字符型日期列正确转换为日期类型?

解决R中日/月/年格式字符型日期转日期类型的问题

嘿,这个问题我之前也碰到过!原因很简单:as.Date()函数默认的解析格式是%Y-%m-%d(也就是年-月-日的顺序),但你的日期字符串是日/月/年(%d/%m/%Y)的格式,所以R会把第一个数字当成年份,第二个当月份,第三个当日,才出现了0025-04-20这种离谱的日期。

给你两个简便的解决方法:

方法一:用as.Date()指定格式

直接在函数里加上format参数,明确告诉R你的日期结构:

attest$datemailing <- as.Date(attest$datemailing, format = "%d/%m/%Y")

这样R就能正确识别日、月、年的顺序,转换出正常的日期类型了。

方法二:用lubridate包自动识别

如果你经常处理各种格式的日期,推荐用lubridate包的dmy()函数,它专门针对日-月-年格式的日期做了优化,不用手动写格式:

# 第一次使用需要先安装包
install.packages("lubridate")
library(lubridate)

attest$datemailing <- dmy(attest$datemailing)

这个包还有ymd()、mdy()等函数,对应不同的日期顺序,用起来特别省心。

如果之后你需要把日期转换成特定的字符串格式输出(比如YYYY-MM-DD),可以用format()函数:

format(attest$datemailing, "%Y-%m-%d")

内容的提问来源于stack exchange,提问作者Ana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:20:59