首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何利用军事时间计算时间间隔

如何利用军事时间计算时间间隔
EN

Stack Overflow用户
提问于 2019-03-12 22:58:20
回答 1查看 79关注 0票数 2

我正在用R来计算人睡觉的时间。目前,睡眠时间和唤醒时间都是在军事时间报告的,所以当我使用difftime()时,从晚上9点睡觉(21:00)到早上7点醒来(07:00)之间的间隔是14小时,而不是10小时。有人能帮我弄清楚我需要做什么才能给我正确的时差吗?

示例数据:

代码语言:javascript
复制
              bedtime                   waketime
1             1899-12-31 01:00:00       1899-12-31 06:00:00
2             1899-12-31 21:00:00       1899-12-31 07:00:00
3             1899-12-31 22:00:00       1899-12-31 06:00:00

使用的脚本:

代码语言:javascript
复制
difftime(PSQI$wakeup_3, PSQI$bedtime_1, units = "hours")
 [1]   5.00 -14.00 -16.00 

当我要找的是

代码语言:javascript
复制
[1]   5.00  10.00  8.00 

谢谢任何能帮忙的人!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-12 23:19:50

结合上面@thelatemail和@Dave2e的评论,我们可以这样做

代码语言:javascript
复制
with(df, ifelse(bedtime > waketime, waketime + 86400 - bedtime, waketime - bedtime))
#[1]  5 10  8

我们增加86400秒(1天),只有当bedtime > waketime,然后取差额。确保列bedtimewaketime是实际的POSIXct类。

数据

代码语言:javascript
复制
df <- structure(list(bedtime = structure(c(-2209096006, -2209024006, 
-2209020406), class = c("POSIXct", "POSIXt"), tzone = ""), waketime = 
structure(c(-2209078006, 
-2209074406, -2209078006), class = c("POSIXct", "POSIXt"), tzone = 
"")), row.names = c(NA, 
-3L), class = "data.frame")
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55131895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档