2013-01-07 76 views
2

是否可以在R中创建自定义时区来处理日期时间对象?创建自定义时区

更具体地说,我有兴趣处理POSIXct对象,并且想创建一个与“US/Eastern”对应的时区 - 17个小时。具有类似偏移量的时区不遵循与美国相同的夏令时公约。

使用如此定义的时区的原因来自FX交易,美国东部时间下午5点是合理的“午夜”。

+1

最好不要在意“什么时候会发生”午夜“,而是担心在某个特定场地进行交易时。那么你可以使用UCT的所有时间戳,并避免混淆。 (我在这里讲的经验。) –

+0

@MatthewLundberg:我正在寻找按货币/天编写二进制文件,在这方面UTC没有太大的意义。也许我应该按货币/周来存储它们,以便选择时区并不重要。 – Ryogi

+1

当您从世界各地收集数据时,UCT是唯一有意义的事情。我同意,基于UCT时间戳确定什么是“交易日”并不是微不足道的,但对于这个问题,并不是一个微不足道的解决方案,它不会迟早地咬你。可能更快。 –

回答

2

当你关心每一天的特定“午夜”时间时,我假设你想获得一个没有时间的日期,而此时切换。如果这是你的意图,那么简单地从你的时间矢量中减去17小时(= 17*3600秒),并取得最终的POSIXct值的日期?据我所知,这样可以避免复杂的时区操作,这些操作通常不受R本身的限制,但是底层的C libraray,因此它们可能难以从R内实现。相反,所有的计算都将被执行在美国东部时间,你仍然可以获得与当地午夜不同的切换时间。