从R的时间戳开始超过一年的时间

时间:2017-06-22 05:33:04

标签: r date

我有一个数据集,其中包含从01/01/201501/01/2017 (dd/mm/yyyy)的一系列时间戳。我想将它转换为周(即)01/01/2015第0周,08/01/2015成为第1周... 01/01/2017应该成为第104周(或者这个数字左右)。

我尝试了以下方法

> sD
  "2016-04-13 05:30:00 IST" "2017-04-10 05:30:00 IST"
> format(as.Date(sD,format = guess_formats(sD,c('dmy'))), "%W")
     "15" "15"

这里的日期相同,但不同的年份我会得到相同的一周。我也需要输出随年份的变化。如何做到这一点?

1 个答案:

答案 0 :(得分:2)

只需区分并将单位指定为周:

x <- as.Date(c("2015-01-01","2015-01-08","2017-01-01"))
difftime(x, as.Date("2015-01-01"), units="weeks")
#Time differences in weeks
#[1]   0.0000   1.0000 104.4286