如何将“时分”字符格式转换为POSIXlt格式?

时间:2019-12-11 13:36:43

标签: r date strptime posixlt

当前情况:

mydate <- "14:45"

class(mydate)

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

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

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

如何获取唯一包含小时和分钟的POSIXlt格式?

提前感谢您的退货!

2 个答案:

答案 0 :(得分:2)

POSIXlt和POSIXct始终包含日期和时间。您可以使用chron times类来表示小于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

答案 1 :(得分:0)

对我来说,它是这样的:

test <- "2016-04-10T12:21:25.4278624"
z <- as.POSIXct(test,format="%Y-%m-%dT%H:%M:%OS")

#output:
z
"2016-04-10 12:21:25 CEST"

代码的格式如下:R: convert date from character to datetime