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

R语言中将S.10格式日期转换为2019/09/10格式的方法咨询

R 实现 S.XX 格式日期转 YYYY/MM/DD 格式方案

默认你的S.10格式规则为:首位字母为英文月份首字母,小数点后数字为当月日期,需求中年份固定为2019,可按以下两种方式实现:

方法1:基础R实现(无需额外安装包)

# 1. 构建月份首字母对应数字的映射表
month_map <- c(
  J = 1, F = 2, M = 3, A = 4, M = 5, J = 6,
  J = 7, A = 8, S = 9, O = 10, N = 11, D = 12
)
# 2. 示例原始日期
raw_date <- "S.10"
# 3. 拆分原始字符串获取月份首字母和日期
month_char <- substr(raw_date, 1, 1)
day_num <- substr(raw_date, 3, nchar(raw_date))
# 4. 拼接为目标格式,自动补全月份、日期前的0
target_date <- paste0("2019/", sprintf("%02d", month_map[month_char]), "/", sprintf("%02d", as.integer(day_num)))
# 输出结果:2019/09/10
print(target_date)

如果需要批量处理多个日期,把raw_date替换为存储所有原始日期的向量即可直接运行。如果原始数据中1月/3月/5月、6月/7月有特殊区分标识,调整映射表对应规则即可。

方法2:使用lubridate包实现(更适合日期类后续操作)

# 未安装包先执行安装
# install.packages("lubridate")
library(lubridate)

raw_date <- "S.10"
# 替换首字母为对应月份全称后解析日期,再格式化输出
parsed_date <- format(
  ymd(paste0("2019-", sub("\\.", "-", sub("S", "September", raw_date)))),
  "%Y/%m/%d"
)
print(parsed_date)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 04:36:00