首页 > 解决方案 > 如何将小时分钟字符格式转换为 POSIXlt 格式?

问题描述

现在的情况:

mydate <- "14:45"

class(mydate)

这个值的当前类是一个字符。我想将其转换为 POSIXlt 格式。

我尝试了 strptime() 函数,但不幸的是,当我实际上只需要 Hours:Minutes 时,它会将完整日期添加到我的小时数中

mydate <- strptime(mydate, format = "%H:%M")

我该怎么做才能获得唯一包含小时和分钟的 POSIXlt 格式?

提前感谢您的回报!

标签: rdatestrptimeposixlt

解决方案


POSIXlt 和 POSIXct 总是包含日期和时间。您可以使用 chrontimes类来表示小于 24:00:00 的时间。

library(chron)

tt <- times(paste(mydate, "00", sep = ":"))
tt
## [1] 14:45:00

times类对象在内部表示为一天的一小部分,例如,添加 1/24 将增加一个小时。

tt + 1/24 # add one hour
## [1] 15:45:00

推荐阅读