我有一个CSV文件中的日期时间对看起来像有没有办法在lubridate中自动分配DST转换?
2012年11月4日
在一列
上午12时06分08秒
在相邻列。它们在当地时间被记录(即它们在适当的时间切换到PST和PDT),但文件中没有tz或DST指示符。检测这个唯一可见的方式是时间序列做有趣的事情。例如,于2012年11月4日,我的倍像
上午12点51分二十秒 上午01点13分08秒 上午1点24分58秒 上午一点40分28秒1 的序列: 48:08 AM 上午01时54分08秒 上午01时56分58秒 上午01点04分28秒 上午01时05分48秒 上午01时07分18秒 上午1点15分00秒 1:39 :08 AM 2:05:38 AM
PST大概是从上午1:04:28开始的,但没有指标。
是否有一个简单的方法妥善分配时间段(可能使用lubridate)?该文件很长,所以我宁愿不一次循环一次阅读,因为我担心这可能需要一些时间。我将不得不在春季做相同的事情。
但是,如果在PDT或PST是唯一的选择,你知道夏令时的日期,然后你可以根据该之间挑选。虽然没有简单的方法从R获得这个日期。 – hadley 2013-02-22 13:48:25
@hadley:你可以生成从第一个到最后一个观测每小时序列,将其转换为'POSIXlt'和检查时的'isdst'元素0/1切换。 – 2013-02-22 14:08:20
确实如此,但由于原始数据是作为转换点存储的,所以它有点尴尬。 – hadley 2013-02-22 14:39:39