POSIXct在R奇怪的行为

时间:2014-09-06 01:47:07

标签: r posixct

我想请R大师评论以下内容:

  

as.POSIXct(“05/11/1998 09:35”,“%m /%d /%Y%H:%M”,tz =“EST”) - as.POSIXct(“1998-05- 11 09:35:00 EST“)   时差1小时

由于日期相同,不应该为零吗?

感谢。

1 个答案:

答案 0 :(得分:2)

根据?strptime?as.POSIXct指向)format=参数应为

  

字符串。 'format'方法的默认值是             '%Y-%m-%d%H:%M:%S“',如果任何元素具有时间分量             这不是午夜,否则为“%Y-%m-%d”。如果             设置'options(“digits.secs”)',直到指定的数字             数字将被打印几秒钟。

时间"1998-05-11 09:35:00 EST"的格式为"%Y-%m-%d %H:%M:%S %Z"。但%Z只能用于输出(请参阅?strptime

如果您为第二个电话提供tz=参数,它将按预期工作

> as.POSIXct("05/11/1998 09:35", "%m/%d/%Y %H:%M",tz="EST") - as.POSIXct("1998-05-11 09:35:00 EST", tz="EST")
Time difference of 0 secs

值得注意的是

'EST' is a time zone used in Canada _without_ daylight saving time, and not
 ‘EST5EDT’ nor (Australian) Eastern Standard Time.) 

(见?timezone