format(Sys.Date(),"%m")
返回"07"
,但我希望它返回"7"
,同时在需要时仍返回两个字符。将<{1}}添加到参数列表中没有帮助,我也没有尝试过其他任何操作。
我的最终目标是在p上制作股票报价阅读功能。 Nutshell中的182个正常工作。
答案 0 :(得分:3)
有很多方法可以做到,但substr()可能效果最好。与ifelse()结合使用两位数。
as.character(as.numeric(format(Sys.Date(),"%m")))
as.character(as.POSIXlt(Sys.Date())$mon + 1)
substr(format(Sys.Date(),"%m"), 2, 2)
答案 1 :(得分:0)
您可以使用gsub
删除前导零:
> gsub('^0','',format(Sys.Date(),"%m"),perl=TRUE)
[1] "7"
> gsub('^0','',format(as.Date('2010-10-10'),"%m"),perl=TRUE)
[1] "10"