如何将R中的日期转换为不带破折号或斜线的字符串,或者不使用冒号的字母和时间。例如,我可以在R中获得2017-12-07但我需要201712071520才能在Weather API调用中使用。我怎样才能做到这一点?有关参考,请参阅下面的示例调用startDateTime和endDateTime。我想将我拥有的日期转换为20171207格式,并在没有冒号的情况下将其添加到固定时间(1520)。谢谢你的帮助!
我被告知之前已经问过这个问题,但其他例子正在将相反的字符串转换为R日期和时间。
以下是我调用的API示例:
从评论中移开。
如果x
是R的"Date"
类,那么使用指示的format
语句:
x <- as.Date("2017-12-07") # test input
format(x, "%Y%m%d1520")
## [1] "201712071520"
有关百分比代码的更多信息,请参阅?strptime
。
这是一个更通用的解决方案。它看起来像这样:
library(lubridate)
input_date = "2017-1-7" #intentionally taking different date to make it more generic
fixed_text = "1520"
input_date = ymd(input_date)
output_date = paste(year(input_date), sprintf(fmt = '%02d', month(input_date)), sprintf(fmt = '%02d', day(input_date)), fixed_text, sep = "")
print(output_date)