生成日期序列

时间:2013-02-05 11:20:39

标签: r

我想用下一个代码生成日期序列:

vm1=strptime("2000-01-01 00:00:00", format="%Y-%m-%d %H:%M:%S")
vm2=strptime("2011-12-31 23:55:00", format="%Y-%m-%d %H:%M:%S")
vm3=seq(vm1, vm2, by = min(300))

问题是在某些特定日期程序更改时区并省略部分生成的数据。例如:

vm3[24500:24510]

感谢任何帮助或指示。

1 个答案:

答案 0 :(得分:7)

vm3的那一部分对我来说很合适(英国语言环境,GMT/BST时区)。考虑强制您的日期处于通用时间,然后在以后更正到您当地的时区。

vm1=strptime("2000-01-01 00:00:00", format="%Y-%m-%d %H:%M:%S", tz = "UTC")
vm2=strptime("2011-12-31 23:55:00", format="%Y-%m-%d %H:%M:%S", tz = "UTC")
vm3=seq(vm1, vm2, by = "300 mins")
any(is.na(vm3)) #FALSE

顺便说一句,你想要by的{​​{1}}参数,而不是"300 mins"min(300)是最小功能;它与分钟无关。