将时间戳(int)转换为时间间隔
Convert timestamp (int) to time interval
我有一些整数(时间戳),我想将它们转换成时间间隔(时间增量)。我如何在 R 中做到这一点?
像这样:
strptime(37998530.34, format="%d %H:%M")
此 R 代码 returns 有错误:
difftime(37998530.34, 0)
在Python中我可以使用这个代码:
datetime.timedelta(0, 37998530.34)
结果是:
datetime.timedelta(439, 68930, 340000)
439 days, 19:08:50.340000
谢谢!
在 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
我有一些整数(时间戳),我想将它们转换成时间间隔(时间增量)。我如何在 R 中做到这一点?
像这样:
strptime(37998530.34, format="%d %H:%M")
此 R 代码 returns 有错误:
difftime(37998530.34, 0)
在Python中我可以使用这个代码:
datetime.timedelta(0, 37998530.34)
结果是:
datetime.timedelta(439, 68930, 340000)
439 days, 19:08:50.340000
谢谢!
在 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