如何在r中打印POSIXct的日期格式

时间:2016-03-31 19:01:49

标签: r

start <- as.POSIXct("2016-01-17")  
end <- start + as.difftime(72, units="days")  
for(i in seq(from=start, by=60*60*24*7, to=end)) {  
       print(i)  
}

如上所示,我尝试在72天内打印出2016年之后的日期。然而,输出总是数字,如1453006800.我已经尝试了我能想到的一切,包括as.Date,as.Date(i,origin =“2016-01-17 00:00:00 EST”)... .Thanks!

1 个答案:

答案 0 :(得分:0)

这里的问题是,虽然“开始”和“结束”是POSIX日期对象,但“i”不是。通过检查它们的结构就可以看出这一点:

> str(start)
 POSIXct[1:1], format: "2016-01-17"
> str(i)
 num 1.46e+09

您可以使用其他循环函数而不是“for”,这似乎是将“i”强制转换为数字。您可以使用while循环,如:

> i = start
> while (i < end) {
 i = i + 60*60*24*7
 print(i)
}