r - 将数值转换为时间跨度格式
问题描述
我有一个以秒为单位的值列表
seconds=c(139765, 319817, 524729, 1491, 211831, 27571, 15254, 427546, 314016, 9372)
我想将这些持续时间转换为时间跨度格式,例如:hh:mm:ss
我试过了dseconds
,但告诉我:
> dseconds(seconds)
[1] "139765s (~1.62 days)" "319817s (~3.7 days)" "524729s (~6.07 days)"
[4] "1491s (~24.85 minutes)" "211831s (~2.45 days)" "27571s (~7.66 hours)"
[7] "15254s (~4.24 hours)" "427546s (~4.95 days)" "314016s (~3.63 days)"
[10] "9372s (~2.6 hours)"
我怎样才能做到这一点?thx 在先进
解决方案
我们可以手动计算所有三个部分,类似于这个答案:
sprintf("%02d:%02d:%02d", x %/% 3600, (x %% 3600) %/% 60, x %% 60)
# [1] "38:49:25" "88:50:17" "145:45:29" "00:24:51" "58:50:31" "07:39:31"
# [7] "04:14:14" "118:45:46" "87:13:36" "02:36:12"
因为一小时有 3600 秒,x %/% 3600
给出完整小时数,(x %% 3600) %/% 60
给出剩余时间的完整分钟数,而x %% 60
是剩余秒数。
推荐阅读
- angular - 在特定索引处将 FormGroup 设置为 FormArray
- apple-music - Apple Music 用户令牌会过期吗?
- javascript - 使用 JQuery 排序功能对 DOM 元素进行排序时丢失单击
- c# - 异步函数返回异步元数据(包括结果)而不仅仅是结果
- android - 由 kotlin.TypeCastException 引起的 null 不能转换为非 null 类型 com.drivequant.drivekit.tripanalysis.entity.PostGenericResponse
- bitbucket - bitbucket中的存储库设置?
- size - Netlogo gis 扩展:如何设置世界大小以给补丁提供特定的比例
- java - 从spring boot中的子模块访问主应用的Property文件(application.yml)
- azure - 使用什么来路由 Azure 中的数千个子域?
- github - GitHub Actions 显示在错误的工作流程中