r - 如何从日期中减去/添加天数?

标签 r date r-faq

我正在尝试构建文件夹来存储数据拉取。我想用拉取数据的日期来标记文件夹。

例如。我从 mysql 中提取 5 天前的数据,我想将文件夹命名为 5 天前的日期。

MySQL可以轻松处理日期运算。我不确定 R 到底是如何做到的。我是否应该在 POSIXct 中减去适当的秒数,然后转换为 POSIXlt 以将文件夹命名为 MM_DD_YYYY?

或者有更好的方法吗?

最佳答案

只需减去一个数字:

> as.Date("2009-10-01")
[1] "2009-10-01"
> as.Date("2009-10-01")-5
[1] "2009-09-26"

由于 Date 类只有天,因此您可以对其进行基本算术运算。

如果您出于某种原因想使用 POSIXlt,那么您可以使用它的插槽:

> a <- as.POSIXlt("2009-10-04")
> names(unclass(as.POSIXlt("2009-10-04")))
[1] "sec"   "min"   "hour"  "mday"  "mon"   "year"  "wday"  "yday"  "isdst"
> a$mday <- a$mday - 6
> a
[1] "2009-09-28 EDT"

关于r - 如何从日期中减去/添加天数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2254986/

相关文章:

date - os.time() Lua 生成的错误处理表

javascript - 如何使用 javascript 检查范围之间的时间

javascript - 如何在 JavaScript 中将时间与时间字符串相加?

r - 使用 row, col 索引从矩阵中索引值

r - 从R函数中生成多个图形

r - 在 R 中调试的一般建议

r - 将 Tidyr 的 pivot_longer_spec 用于存储在多个列名中的参数以进行一次观察

r - 将包含列表的列旋转得更宽

r - 如何在 lapply 中引用不属于 SD 的列?

r - dplyr 不接受 paste0() 作为 rename() 中的 old_name