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

在R语言中将带时间的D/M/Y格式日期转换为YYYY-MM-DD格式

解决方案

基础R实现

直接使用as.Date()函数,通过format参数指定输入的日期格式为日/月/两位年份(对应格式符%d/%m/%y),函数会自动忽略字符串中的时间部分:

example <- as.data.frame(c('1/3/23 20:00'))
colnames(example)[1] <- 'Time'

# 转换为日期格式
example$Date <- as.Date(example$Time, format = "%d/%m/%y")

# 查看结果
example$Date
# 输出:[1] "2023-03-01"

格式符说明:

  • %d:匹配日期(1-31,一位或两位数字都能识别)
  • %m:匹配月份(1-12,一位或两位数字都能识别)
  • %y:匹配两位年份(如"23"会自动解析为2023)

使用lubridate包简化操作

如果习惯用lubridate包(首次使用需先安装),可以用专门的日期时间解析函数匹配格式,再提取日期部分:

# 首次使用时安装包
install.packages("lubridate")
library(lubridate)

example <- as.data.frame(c('1/3/23 20:00'))
colnames(example)[1] <- 'Time'

# 先解析为带时间的日期类型,再提取纯日期
example$Date <- date(dmy_hm(example$Time))

# 查看结果
example$Date
# 输出:[1] "2023-03-01"

这里dmy_hm()会自动识别日-月-年 时-分的格式,date()函数则从完整的日期时间对象中提取纯日期部分。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 09:43:16