R 支持从 00:00 到 23:59 的时间。有没有办法将其更改为 24:00。创建“2012-12-03 24:00”的 POSIXct 对象使其成为“2012-12-04 00:00”。对于我的数据集(TMY3),这是有问题的。
作为一种解决方法,我已将“24:00”的所有实例替换为“23:59”,然后转换为 POSIXct。现在的问题是我不能使用辅助函数来提取小时。23:50 和 23:00 均为 23 小时。按小时绘制的点现在在 23 小时有两个数据点。
我有哪些选择?
简单的答案是你不能真正做到这一点。你当然可以创建一个函数来打印一个 POSIXct 对象作为前一天使用 24 而不是 0 但你要问的是相当于问“我可以让 50(五十)显示为 40_10(四十) ?”
根据您真正想做的事情,您可以执行类似的操作ifelse(hour(POSobj)==0,24,hour(POSobj))
(您已标记lubridate
,因此我认为这些功能是公平的游戏),或者您也可以执行以下操作...
ifelse(hour(POSobj)==0,gsub(" 00:"," 24:",gsub(as.character(floor_date(POSobj)),as.character(floor_date(POSobj)-days(1)),POSobj)),as.character(POSobj))