剥去日期并保留时间

nac*_*dus 15 datetime r

很多人都会问如何剥夺时间并保留日期,但另一方面呢?鉴于:

myDateTime <- "11/02/2014 14:22:45"
Run Code Online (Sandbox Code Playgroud)

我想看看:

myTime
[1] "14:22:45"
Run Code Online (Sandbox Code Playgroud)

时区没有必要.

我已经尝试过(从其他答案)

as.POSIXct(substr(myDateTime, 12,19),format="%H:%M:%S")
Run Code Online (Sandbox Code Playgroud)

[1]"2013-04-13 14:22:45 NZST"

目的是分析仅在一天中的几天记录的事件.

谢谢

编辑:

事实证明,没有纯粹的"时间"对象,所以每次都必须有一个日期.

最后我用了

as.POSIXct(as.numeric(as.POSIXct(myDateTime)) %% 86400, origin = "2000-01-01")
Run Code Online (Sandbox Code Playgroud)

而不是角色解决方案,因为我需要对结果进行算术运算.这个解决方案类似于我原来的解决方案,除了可以一致地控制日期 - 在这种情况下是"2000-01-01",而我的尝试只是在运行时使用了当前日期.

GSe*_*See 23

我想你正在寻找这个format功能.

(x <- strptime(myDateTime, format="%d/%m/%Y %H:%M:%S"))
#[1] "2014-02-11 14:22:45"
format(x, "%H:%M:%S")
#[1] "14:22:45"
Run Code Online (Sandbox Code Playgroud)

character不是"时间",而是可以使用类似的东西,aggregate如果你的意思是"只分析几天内记录的事件."


Mat*_*erg 4

如果 GMT 一天内的时间对您的问题有用,您可以使用%%余数运算符 来获取余数86400(一天中的秒数)。

stamps <- c("2013-04-12 19:00:00", "2010-04-01 19:00:01", "2018-06-18 19:00:02")
as.numeric(as.POSIXct(stamps)) %% 86400
## [1] 0 1 2
Run Code Online (Sandbox Code Playgroud)