lubridate - 从十进制小时中获取小时和分钟

Posted

技术标签:

【中文标题】lubridate - 从十进制小时中获取小时和分钟【英文标题】:lubridate - get hours and minutes from decimal hours 【发布时间】:2022-01-17 16:34:40 【问题描述】:

245.85 格式的十进制小时数等于 [hh]:mm:ss 格式的 245:51:00

我想将小数小时转换为 hh:mm 格式,但我该怎么做呢?

渲染 245.85 的原始计算是:

library(lubridate)
time_length(hm("7 27")*33,unit = "hours")

我想要的是245:51245:51:00 如果我使用 as.period 我也会得到几天 - 就像在:

as.period(dhours(time_length(hm("7 27")*33,"hours")))
[1] "10d 5H 51M 0S"

对于背景 - 我的目标是将小时和分钟(例如 7:27)乘以任意整数(例如 33)并以 hh:mm 格式返回结果 - 避免天数(如上面的 as.period 示例) .假设一件工作需要 7 小时 27 分钟,而我们每年给我 33 件这样的工作,那么我应该需要这么多工作时间(和分钟)。

【问题讨论】:

您不能自己插入一个自定义函数,将十进制小时转换为小时+分钟吗?使用这个库的动机是什么? paste0((245.85 %/% 1),":", round((245.85 %% 1)* 60),":00") 您希望输出为时间格式吗?如果你只是对语法感兴趣,你可以这样做: x 对不起,我在编程方面不是很有经验,有人告诉我——人们可能以前解决过这些问题 非常感谢,这些 cmets 很有帮助。 【参考方案1】:

如果真的只有 H:M:S 格式给你带来麻烦,试试

library(hms)
hms(hours=245.85)

产生245:51:00

【讨论】:

以上是关于lubridate - 从十进制小时中获取小时和分钟的主要内容,如果未能解决你的问题,请参考以下文章

从一些观察中删除秒数以使用 R 以 HM 格式工作

js 录入时间 精确到小时.

Jquery 移动搜索和分页

iOS:从 NSDate 获取本地化小时

从最近 24 小时内上传的文件夹中获取文件

从 netcdf 文件中获取每个月的每小时平均值