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

数字型日期转yyyy-mm-dd格式及R数据框time列转换方法

日期格式转换解决方案

1. 单个数字转换为日期格式

要将数字20201223转换为标准日期格式,只需先将其转为字符型,再用as.Date()函数匹配对应的数字格式即可:

num_date <- 20201223
formatted_date <- as.Date(as.character(num_date), format = "%Y%m%d")
formatted_date
# 输出结果:"2020-12-23"

2. 数据框中time列的日期转换

针对你提供的R数据框,以下两种方法都能快速将time列转换为yyyy-mm-dd格式:

方法一:Base R 原生实现

直接修改数据框的time列:

# 构造数据框
df <- structure(list(geo = c("Alemanya", "Zona Euro", "Espanya", "Unió Europea", 
"França", "Itàlia"), time = c(20230201, 20230201, 20230201, 
20230201, 20230201, 20230201), values = c(0.5, 2, -0.9, 2.1, 
1.2, -2.3)), row.names = c(NA, -6L), class = c("tbl_df", "tbl", 
"data.frame"))

# 转换time列格式
df$time <- as.Date(as.character(df$time), format = "%Y%m%d")

方法二:tidyverse(dplyr)管道式实现

如果常用tidyverse工具链,用mutate()可以更简洁地完成转换:

library(dplyr)

df <- df %>%
  mutate(time = as.Date(as.character(time), format = "%Y%m%d"))

转换完成后,查看time列会得到标准的日期格式:

df$time
# 输出结果:
# [1] "2023-02-01" "2023-02-01" "2023-02-01" "2023-02-01" "2023-02-01" "2023-02-01"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 09:52:28