在R中从日期时间更改为数字AND返回日期时间

时间:2014-12-12 14:46:44

标签: r datetime

看到其他人无法重现这一点任何有关可能导致我所看到的系统设置的猜测都会受到赞赏。这是在由IT配置的工作PC上,但我将在今晚与我的个人安装进行比较,然后更新问题。

使用base R,我正在尝试读取日期和时间,转换为数字,然后转换回日期时间。我遇到的问题是引入+ 5小时的班次,我认为由于时区默认。

从上一个问题中,提供了日期时间到数字的示例: Change from date and hour format to numeric format

> x <- as.POSIXct("9/27/2011  3:33:00 PM", format="%m/%d/%Y  %H:%M:%S %p")
> x
[1] "2011-09-27 03:33:00 EDT"
> y <- as.numeric(x)
[1] 1317108780

* 以上代码中的错误已修复

当我尝试将其恢复到最新时间时,我得到:

> z <- as.POSIXct(y, origin="1970-01-01")
> z
[1] "2011-09-27 08:33:00 EDT" 

我尝试了一些变体,包括明确指定时区,但我一直在进行这种转变。

1 个答案:

答案 0 :(得分:2)

我认为这只是指定时区的问题:

x <- as.POSIXct("9/27/2011  15:33:00", format="%m/%d/%Y  %H:%M:%S")
> as.POSIXct(as.numeric(x), origin="1970-01-01",tz="EST") # as.numeric(x)=1317130380
[1] "2011-09-27 08:33:00 EST"

但是:

x <- as.POSIXct("9/27/2011  15:33:00", format="%m/%d/%Y  %H:%M:%S",tz="EST")
> as.POSIXct(as.numeric(x), origin="1970-01-01",tz="EST") # as.numeric(x)=1317155580
[1] "2011-09-27 15:33:00 EST"

备注:我在15:33:00 03:33:00 PM简化