如何转换 R date() 值

How to convert R date() values

我有一个日期框,里面有很多日期,这些日期是由 R 中的 date() 命令生成的,类似于下面的第一个数据框。在我使用此版本 R 的计算机上,日期值的格式如下“Thu Mar 18 11:15:23 2021”——我相信这都是基本的 R 内容。

我想去掉工作日、小时、分钟和秒,然后对其进行转换,使其看起来像这样“2021-03-18”。我的目标数据框是下面的第二个数据框。我试过各种 as.Date() 或 strftime 函数都无济于事。

df <- data.frame(date=c(date(),date()),value = c(1,2))
df <- data.frame(date =c("2021-03-18","2021-03-18"), value = c(1,2))

如果不需要字符串,可以跳过strftime调用,只使用as.Date

df <- data.frame(
  date=c(date(),date()),
  value = c(1,2),
  stringsAsFactors = FALSE
)

df$date <- strftime(as.Date(df$date, "%c"), "%Y-%m-%d")

https://stat.ethz.ch/R-manual/R-patched/library/base/html/strptime.html