首页 > 解决方案 > 解析时间并转换为分钟

问题描述

数据看起来像这样。

data$arrival_time: int  1245 1345 1805 1950 710 755 2115 2215 615 730 ...
data$real_time   : int  1256 1423 1859 2105 712 1009 2139 2344 542 946 ...

例如,1245 表示 12:45,1345 表示 13:45。

我只想将 12:45 转换为 765 和 13:45 转换为 825,因此可以转换format(hour:minutes)为分钟。(参见 12 60+450=765 和 13 60+45=825)

如何将时间转换为分钟?

标签: rtime

解决方案


模运算是你的朋友。两个有用的 R 运算符:

  • %/%进行整数除法,例如5 %/% 2是 2 和38 %/% 312
  • %%是模数/余数运算符,例如5 %% 2是 1 和38 %% 3是 2

对于正整数 where m<n,我们总是有n = m*(n %/% m) + n %% m

我们可以通过识别您输入的“小时”部分由 给出x %/% 100,而“分钟”由 给出,从而使用它来提供帮助x %% 100,因此您的答案是:

60 * (x %/% 100) + ( x %% 100 )
#    ^ hours   ^   ^ minutes  ^

推荐阅读