R 如何从润滑油中提取时间?

R 如何从润滑油中提取时间?,r,datetime,lubridate,R,Datetime,Lubridate,我想从格式为“DD-M-YYYY HH:MM”(例如“14-3-2018 00:34”)的类型因子向量中提取日、月、小时和分钟向量 使用Lubridate,可以按预期检索月和日,但当我尝试检索小时和分钟时,它会返回所有零 我尝试了以下方法: dataset$Month = month(dataset$msgDateTime) dataset$Day = day(dataset$msgDateTime) dataset$Hour = hour(dataset$msgDateTime) datase

我想从格式为“DD-M-YYYY HH:MM”(例如“14-3-2018 00:34”)的类型因子向量中提取日、月、小时和分钟向量

使用Lubridate,可以按预期检索月和日,但当我尝试检索小时和分钟时,它会返回所有零

我尝试了以下方法:

dataset$Month = month(dataset$msgDateTime)
dataset$Day = day(dataset$msgDateTime)
dataset$Hour = hour(dataset$msgDateTime)
dataset$Minute = minute(dataset$msgDateTime)
所以前两行得到了我想要的结果,但后两行只得到了零


我如何才能让它工作?

这里有一个使用
lubridate的解决方案:

library(lubridate)
library(dplyr)

factor_datetime <- factor("14-3-2018 00:34")

tibble(
  full_datetime = lubridate::dmy_hm(
    factor_datetime,
    quiet = FALSE,
    tz = "UTC",
    locale = Sys.getlocale("LC_TIME"),
    truncated = 0
  )) %>%
  mutate(Month = lubridate::month(full_datetime),
         Day = lubridate::day(full_datetime),
         Hour = lubridate::hour(full_datetime),
         Minute = lubridate::minute(full_datetime))

# A tibble: 1 x 5
# full_datetime        Month   Day  Hour Minute
# <dttm>               <dbl> <int> <int>  <int>
# 2018-03-14 00:34:00      3    14     0     34
库(lubridate)
图书馆(dplyr)
因子_日期时间%
突变(月=润滑::月(完整日期时间),
天=润滑油::天(完整日期时间),
小时=润滑:小时(完整日期时间),
分钟=润滑:分钟(完整日期时间))
#一个tibble:1 x 5
#完整日期时间月日小时分钟
#                    
# 2018-03-14 00:34:00      3    14     0     34

首先将其转换为
datetime
数据集$msgDateTime
minute(dmy\u hm(“14-3-2018 00:34”)#[1]34