在R中将秒数转换为年

时间:2018-02-12 14:50:10

标签: r date

如果我有大量的秒数,例如4 * 10 ^ 17来估计宇宙的年龄,并且我想将其转换为年,我该怎么做? R中是否有一个函数命令可以执行此操作,还是仅通过数学运算?我尝试使用lubridate包,但我找不到任何东西。 seconds_to_period导致天,小时,分钟,秒。我似乎无法确定持续时间,如果这是一个很好的使用电话。

3 个答案:

答案 0 :(得分:3)

在一年中你有31557600秒。

你可以做4 * 10 ^ 17/31557600

查看this

4*10^17/31557600
[1] 12675235126

答案 1 :(得分:1)

simtimer个包,允许您将秒数转换为年。 (参考origin_date)。因此,以下内容将告诉您今天与未来4 * 10 ^ 16秒之间的年数。

lubridate::year(simtimer::as.datetime(4*10^16, origin_date = Sys.time())) - 
lubridate::year(Sys.time())
[1] 316887385

然而,事情是,4 * 10e17会抛出NA。我想因为它太大了。所以很可能你必须坚持@Terru_theTerrors解决方案

答案 2 :(得分:0)

我能找到的最接近预建函数的是seconds_to_period:

lubridate::seconds_to_period(2121654654)

您应该小心进行简单的计算(取决于您需要的准确度),因为这不会考虑到成功。请记住,一个日历年实际上有365.25天。