有人请解释一下:
strptime(c("2010-01", "2010-02"), format="%Y-%W")
[1] "2010-05-21" "2010-05-21"
为什么5月21日?我期待一年中的第一周和第二周(01)和(02)在一月...%W是一年中的一周,不是吗?
ISOweek2date在ISOweek包中起作用:
library(ISOweek)
ISOweek2date(c("2010-W01-1", "2010-W02-1"))
[1] "2010-01-04" "2010-01-11"
答案 0 :(得分:3)
今天(至少是)5月21日。当你没有提供足够的信息来获得确切的一天时,R决定使用当前的日期时间值填写 - 例如 -
strptime("2010",format="%Y")
#[1] "2010-05-22 EST"
strptime(c("2010-01", "2010-02"), format="%Y-%W")
#[1] "2010-05-22 EST" "2010-05-22 EST"
答案 1 :(得分:3)
要获得与ISOweek2date
相同的结果,您应该在时间字符串和格式中为strptime
提供与ISOweek2date
相同级别的详细信息。
因此,在时间字符串中为一周的第一天添加“-1”,在格式字符串中为-%w
添加“{1}”:
ISOweek2date
如上所述,如果没有足够的信息,您将获得当前日期