2014-11-04 34 views
2

我有类POSIXct的两个日期时间目的如下:时差对象不计算正确

> x = as.POSIXct('2013-03-31 01:39:42') 
> y = as.POSIXct('2013-03-31 03:11:24') 

两个日期时间的时间差计算为31.7分钟(或1902秒)。

> y - x 
Time difference of 31.7 mins 

然而,这种情况下的时间差是91.7分钟(或5502秒)。有人可以向我解释这个错误吗?

回答

11

您是否听说过夏令时?

x 
#[1] "2013-03-31 01:39:42 CET" 
y 
#[1] "2013-03-31 03:11:24 CEST" 

看看时区。

比较本:

x = as.POSIXct('2013-03-31 01:39:42', tz="GMT") 
y = as.POSIXct('2013-03-31 03:11:24', tz="GMT") 
y-x 
#Time difference of 1.528333 hours 
+0

尼斯渔获物。这必须在* nix系统上,在Windows上它们都报告为“CDT” – 2014-11-04 18:40:25

+0

@RitchMelton不,这取决于您系统的时区。 – Roland 2014-11-04 18:41:04

+0

我知道TZ是依赖于语言环境的,但是如何更改我的语言环境以使其显示DST值(在Windows上)? – 2014-11-04 18:43:30