在R中将十进制数转换为HH:MM

时间:2015-11-03 14:00:34

标签: r date datetime

我有一个十进制数:0.8541667,我希望使用R将其转换为HH:MM格式。我要找的答案是:20:30

3 个答案:

答案 0 :(得分:10)

试试这个:

R> format(as.POSIXct(Sys.Date() + 0.8541667), "%H:%M", tz="UTC")
[1] "20:30"
R> 

我们从日期开始 - 可以是任何日期,因此我们今天使用 - 并添加您想要的分数日。

然后我们将Date类型转换为Datetime对象。

最后,我们格式化Datetime对象的小时和分钟部分,确保将UTC用于时区。

答案 1 :(得分:10)

使用chron

chron::times(0.8541667)
#[1] 20:30:00

答案 2 :(得分:1)

带有data.table的一个选项:

> library(data.table)
> structure(as.integer(0.4305556*60*60*24), class="ITime")
[1] "10:20:00"

我们从午夜起将天数转换为秒;强制转换为整数;并应用ITime类。 (ITime从午夜开始使用整数存储的秒数。)

其他资源: