如何通过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>
有什么想法吗?
答案 0 :(得分:18)
您可以在format()
的帮助页面中使用Sys.Date()
功能。有关所有不同规格,请参阅?strptime
:
> c(2014, format(Sys.Date(), "%Y"))
[1] "2014" "2015"
如果您确实需要整数值,那么:
> c(2014L, as.integer(format(Sys.Date(), "%Y")))
[1] 2014 2015
答案 1 :(得分:2)
你能不能这样做:
choices = c(2014:lubridate::year(Sys.Date()))
使用lubridate
从Sys.Date()
获取年份?