将yyyymmdd日期格式转换为R中的yyddd序数日期

时间:2015-12-29 19:12:19

标签: r date formatting

使用R,我试图将某些日期转换为yyddd序数日期格式(例如2010-12-31到10365),但我没有成功,因为我得到了错误的值。

这是一个工作示例。

dates<-as.data.frame(c("20040101", "20040102", "20040103", 
                   "20041229", "20041230", "20041231"))
cols <- "date"
colnames(dates) <- cols

dates$date.format1<- as.Date(as.character(dates$date), "%Y%m%d")
dates$date.format2<- strptime(dates$date.format1, "%y%j")

我期待的是04001,04002,04003,04363,04364,04365

任何帮助都将非常感激。

致以最诚挚的问候,

1 个答案:

答案 0 :(得分:1)

如果我们将strptime替换为format

,它将会有效
> format(as.Date(dates$date, "%Y%m%d"), "%y%j")
[1] "04001" "04002" "04003" "04364" "04365" "04366"

注意:我们用作输入:

dates <- data.frame(date = c("20040101", "20040102", "20040103", 
                             "20041229", "20041230", "20041231"))