我可以在大多数时候转换为POSIXct,例如:
as.POSIXct( "20:16:32", format = "%H:%M:%S" )
[1] "2017-06-23 20:16:32 EDT"
但是一旦时间超过24小时,就会失败:
as.POSIXct( "24:16:32", format = "%H:%M:%S" )
[1] NA
这有点意义,因为24:16:32应该读作00:16:32
然而,这种24标准在公共交通设计中得到了很好的发展 . 我当然可以用“00:”替换所有“24:”,但我相信有更优雅的出路 .
1 回答
将时间字符串读入数据帧dd,如果小时超过24或更多,则将next_day设置为1,否则设置为0 . 如果next_day为1,则从小时减去24,并添加1天的秒数 . 鉴于今天是2017年6月23日,这将在0到47之间工作几小时 .