2016-08-12 201 views
0

我有一些整數(時間戳),我想將它們轉換爲時間間隔(時間差)。我如何在R中做到這一點?R - 將時間戳(int)轉換爲時間間隔

事情是這樣的:

strptime(37998530.34, format="%d %H:%M") 

該R代碼返回錯誤:

difftime(37998530.34, 0) 

在Python我可以使用此代碼:

datetime.timedelta(0, 37998530.34) 

,其結果是:

datetime.timedelta(439, 68930, 340000) 
439 days, 19:08:50.340000 

謝謝!

回答

1

在R中,您需要指定日期轉換的來源。假設你的值的秒數使用此功能:

as.POSIXlt(37998530.34, origin="1970-01-01") 
#[1] "1971-03-16 14:08:50 EST" 

as.POSIXlt函數也有來指定所需的時區(TZ =)

下面的代碼的選項:

difftime(as.POSIXlt(37998530.34, origin="1970-01-01"), as.POSIXlt(0, origin="1970-01-01"), units=c('days')) 

有結果:

Time difference of 439.8 days 
+0

謝謝!我將最終解決方案添加到您的答案中。 – ragesz