2015-05-27 96 views
8

如何使用Sys.Date()獲得當前年份?R/Shiny - 如何使用Sys.Date()獲得當前年份?

我有下面這段代碼,

 selectInput(
     inputId = "year", 
     label = "Year:", 
     choices = c(2014:Sys.Date()) 
     ) 

結果,

<select id="year"><option value="2014" selected>2014</option> 
<option value="2015">2015</option> 
<option value="2016">2016</option> 
<option value="2017">2017</option> 
<option value="2018">2018</option> 
<option value="2019">2019</option> 
<option value="2020">2020</option> 
.... 
<option value="16582">16582</option></select> 

但我只需要,

<select id="year"> 
    <option value="2014" selected>2014</option> 
    <option value="2015">2015</option> 
</select> 

任何想法?

回答

14

您可以在Sys.Date()的幫助頁面中簡單使用format()功能。所有不同規格見?strptime

> c(2014, format(Sys.Date(), "%Y")) 
[1] "2014" "2015" 

如果你確實需要整數值,則:

> c(2014L, as.integer(format(Sys.Date(), "%Y"))) 
[1] 2014 2015 
2

你不能只是這樣做:

choices = c(2014:lubridate::year(Sys.Date())) 

使用lubridateSys.Date()拿到年終?

+0

謝謝,但我得到這個錯誤'錯誤:沒有包稱爲「lubridate' – laukok

+1

@teelou - 您需要使用'install.pakcages(「lubridate」)'安裝軟件包lubridate,或者使用Base R功能,如下所示。 – Chase

相關問題