首页 > 解决方案 > R:以这种形式将字符转换为日期时间:2018-07-01 12

问题描述

所以我有一个这样的专栏:

2018-07-01 12
2018-07-01 13
2018-07-01 14

我想要日期和时间形式,其中 2018-01-07 是日期,12 是 12:00 UTC。我尝试了POSIXctand POSIXlttoo 和lubridatepackage 但没有用。

标签: rdatetime

解决方案


您可以paste使用两列并使用as.POSIXct指定格式。

df$V3 <- as.POSIXct(paste(df$V1, df$V2), format = '%Y-%m-%d %H', tz = 'UTC')
df$V3
#[1] "2018-07-01 12:00:00 UTC" "2018-07-01 13:00:00 UTC" "2018-07-01 14:00:00 UTC"

如果您不想记住格式ymd_h使用lubridate

df$V3 <- lubridate::ymd_h(paste(df$V1, df$V2))

数据

df <- structure(list(V1 = c("2018-07-01", "2018-07-01", "2018-07-01"
), V2 = 12:14), row.names = c(NA, -3L), class = "data.frame")

推荐阅读