我有一个由十进制数字构成的向量,它们表示“十进制天”的一部分。我想使用 R 将其转换为 HH:MM 格式。
例如,数字 0.8541667
对应于 20:30
。如何将这些数字转换为 HH:MM
格式?
使用 chron
:
chron::times(0.8541667)
#[1] 20:30:00
试一下这个:
R> format(as.POSIXct(Sys.Date() + 0.8541667), "%H:%M", tz="UTC")
[1] "20:30"
R>
我们从一个日期开始——可以是任何日期,所以我们使用今天——并加上您所需的分数天。
然后,我们将Date类型转换为Datetime对象。
最后,我们格式化Datetime对象的小时和分钟部分,确保使用UTC时区。
> library(data.table)
> structure(as.integer(0.4305556*60*60*24), class="ITime")
[1] "10:20:00"
format(.POSIXct(86400*0.8541667, "UTC"), "%H:%M")
。 - Joshua Ulrich