繁体   English   中英

在R中创建没有时区的日期和时间序列

[英]Create sequence of dates and times in R without time zones

我需要在R中创建一系列日期和时间,在15分钟内增加。 目前,我这样做:

datestimes=seq(as.POSIXlt("2011-01-01 00:00:00"), as.POSIXlt("2015-09-30 23:45:00"), by="15 min")

我应该在一年中每次都读一次。 问题是因为它正在调整BST,所以我在10月的某些日期得到两个值。

anm=aggregate(datestimes, by=list(datestimes$datestimes), FUN=length)
anm[which(anm$datestimes>1),]

                   Group.1 datestimes X.Date.
28993  2011-10-30 01:00:00          2       2
28994  2011-10-30 01:15:00          2       2
28995  2011-10-30 01:30:00          2       2
28996  2011-10-30 01:45:00          2       2
63933  2012-10-28 01:00:00          2       2
63934  2012-10-28 01:15:00          2       2
63935  2012-10-28 01:30:00          2       2
63936  2012-10-28 01:45:00          2       2
98873  2013-10-27 01:00:00          2       2
98874  2013-10-27 01:15:00          2       2
98875  2013-10-27 01:30:00          2       2
98876  2013-10-27 01:45:00          2       2
133813 2014-10-26 01:00:00          2       2
133814 2014-10-26 01:15:00          2       2
133815 2014-10-26 01:30:00          2       2
133816 2014-10-26 01:45:00          2       2

我尝试使用as.chron命令,因为这不使用时区,但它不允许增加15分钟,这是我需要的。

问题是因为它正在调整BST,所以我在10月的某些日期得到两个值。

这是因为“回落”(夏令时调整的助记符在秋季增加了一个小时)在人类时间发生,这是默认情况下你得到的除非你覆盖它。

R> seq(as.POSIXlt("2012-10-28 00:00:00", tz="UTC"), 
+      as.POSIXlt("2012-10-28 03:00:00", tz="UTC"), by="15 min")
 [1] "2012-10-28 00:00:00 UTC" "2012-10-28 00:15:00 UTC"
 [3] "2012-10-28 00:30:00 UTC" "2012-10-28 00:45:00 UTC"
 [5] "2012-10-28 01:00:00 UTC" "2012-10-28 01:15:00 UTC"
 [7] "2012-10-28 01:30:00 UTC" "2012-10-28 01:45:00 UTC"
 [9] "2012-10-28 02:00:00 UTC" "2012-10-28 02:15:00 UTC"
[11] "2012-10-28 02:30:00 UTC" "2012-10-28 02:45:00 UTC"
[13] "2012-10-28 03:00:00 UTC"
R> 

我在这里展示的示例涵盖了与上面相同的子集, 但没有后退,因为我们现在将UTC强加为时区。 而UTC的建设没有夏令时调整。

也许试试这个(UTC时区不应该允许任何重复):

datestimes=seq(as.POSIXlt("2015-09-01 00:00:00", tz="UTC"), 
               as.POSIXlt("2015-10-30 23:45:00", tz="UTC"), 
               by="15 min")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM