我需要一些帮助来理解as.numeric对R中的POSIxct做了什么 . 原因是我正在尝试将一些R代码转换为matlab并且我的转换不会加起来 . 例如:

这是R代码

> time <- as.POSIXct('2009-01-01 23:00')
> 
> as.numeric(time)/86400 + 2440587.5
[1] 2454833

这是matlab代码

time = '2009-01-01 23:00';
datenum(time)/86400 + 2440587.5

ans =

   2.4406e+06

为什么这些不相等,我需要做些什么来使我的matlab'时间'等于R?

请注意,R包状态:类“POSIXct”表示自1970年初(UTC时区)以来的(带符号)秒数作为数字向量,Julian Day表示自公元前4713年1月1日以来的天数中午UTC,所以朱利安日计算为数字(POSIXct)2440587.5天 .

另外,as.numeric(time)返回的值是多少?