在R语言中,将m/d/yy
格式的日期转换为YYYY-MM-DD
标准格式可以通过以下步骤实现:
as.Date()
函数处理日期转换,通过format
参数指定输入格式,format()
函数用于输出格式化。%m
:两位月份(01-12)%d
:两位日期(01-31)%y
:两位年份(00-99)%Y
:四位年份(如2023)-
:连字符分隔符# 原始日期示例
orderdate <- "5/23/23" # 输入格式 m/d/yy
# 转换为YYYY-MM-DD
converted_date <- format(as.Date(orderdate, format = "%m/%d/%y"), "%Y-%m-%d")
print(converted_date) # 输出: "2023-05-23"
若输入可能是m/d/yy
(如5/3/23
),R的as.Date()
会自动处理:
orderdate <- "5/3/23"
converted_date <- format(as.Date(orderdate, format = "%m/%d/%y"), "%Y-%m-%d")
print(converted_date) # 输出: "2023-05-03"
lubridate
包(更灵活)library(lubridate)
orderdate <- "5/23/23"
converted_date <- format(mdy(orderdate), "%Y-%m-%d")
print(converted_date) # 输出: "2023-05-23"
%y
)会按当前世纪自动推断(如23
→2023
)。2/30/23
),会返回NA
并给出警告。lubridate
比基础R函数更快。DATE
类型)。# 创建示例数据框
orders <- data.frame(
id = 1:3,
orderdate = c("5/23/23", "12/1/22", "9/9/24")
)
# 转换日期列
orders$orderdate_std <- format(as.Date(orders$orderdate, format = "%m/%d/%y"), "%Y-%m-%d")
# 结果
print(orders)
# id orderdate orderdate_std
# 1 1 5/23/23 2023-05-23
# 2 2 12/1/22 2022-12-01
# 3 3 9/9/24 2024-09-09
没有搜到相关的文章