r - 剥离日期并保留时间

标签 r datetime

很多人问如何去除时间并保留日期,但反过来呢?鉴于:

myDateTime <- "11/02/2014 14:22:45"

我想看看:
myTime
[1] "14:22:45"

不需要时区。

我已经尝试过(来自其他答案)
as.POSIXct(substr(myDateTime, 12,19),format="%H:%M:%S")

[1] “2013-04-13 14:22:45 新西兰标准时间”

目的是仅按一天中的时间分析几天内记录的事件。

谢谢

编辑:

原来没有纯粹的“时间”对象,所以每次也必须有一个日期。

最后我用
as.POSIXct(as.numeric(as.POSIXct(myDateTime)) %% 86400, origin = "2000-01-01")

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

最佳答案

我认为您正在寻找 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"

那是 character ,不是“时间”,但可以使用类似 aggregate 的东西如果这就是“仅按一天中的某个时间分析几天内记录的事件”的意思。

关于r - 剥离日期并保留时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15982722/

相关文章:

r - 将数据框转换为 data.table,无需复制

python - 将纪元时间戳列转换为带时区的日期时间

c# - 我想在 EST 中初始化 DateTime,然后转换为 Universal TIme

oracle - ORA-01830 : date format picture ends before converting entire input string in TOAD

javascript - 在每个月初重置计数器

SQL Server - 选择一天中的每一秒

在 R 中使用多线程运行 shell 脚本

r - 将空间坐标分配给 R 中的数组

r - 如何计算所选列的行平均值

r - 如果列 1 名称 == 来自列 2 BY GROUP 的第一个(值),则有条件地从列 1 获取值