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

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

使用基数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" 

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

最佳答案 我认为这只是指定时区的问题:

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

点赞