2013-03-13 12 views
0

我有一個起始日期和結束日期,但是當我想提出一個清單,包含之間的所有日期格式更改:日期格式變成數字

> startDate <- as.Date("2012-01-01") 
> startDate 
[1] "2012-01-01" 
> endDate <- as.Date("2012-02-01") 
> endDate 
[1] "2012-02-01" 
> startDate:endDate 
[1] 15340 15341 15342 15343 15344 15345 15346 15347 15348 15349 15350 15351 15352 15353 15354 15355 
[17] 15356 15357 15358 15359 15360 15361 15362 15363 15364 15365 15366 15367 15368 15369 15370 15371 

這樣你就可以看到所有日期都轉換爲數字格式。 但問題是,我有一個API函數,只能讀取日期格式爲「YYYY-MM-DD」。 任何一個可以建議我怎麼能產生這樣的列表,如:

[1] "2012-01-01" "2012-01-02" "2012-01-03" "2012-01-04" .... 

回答

2

使用seq功能:

seq(startDate,endDate,by="day") #you could use also by=1 
# see ?seq.Date for other options for "by" 

從運營商:的幫助頁面(使用?":"?Colon):

對於來自其他參數:to等同於seq(from,to),並且 從步驟to到步驟地生成序列1或-1。如果數值不同於數字 約1e-7的整數,則將包含到 的值。非數字參數被內部強制 (因此沒有調度方法)複製到數字複合值, 將其虛數部分丟棄並帶有警告。

所以

identical(startDate:endDate,as.numeric(startDate):as.numeric(endDate)) 
[1] TRUE 

而且順便說一句,你生成一個矢量,而不是一個列表。你可以使用as.list函數來列出你的值,如果這是你真正想要的。