在R中更改日期和时间的格式

时间:2018-02-28 19:40:21

标签: r

我遇到日期问题& R中的时间格式。

我的R代码格式为:“%m /%d /%y%H:%M”。示例:“02/05/18 00:29”

但是,我有不同类型格式的数据集,例如“%Y-%m-%d%H:%M:%S”等等

我正在尝试编写一个R代码,其中所有类型的格式都将转换为“%m /%d /%y%H:%M”格式。

x <- "2018-02-27 00:03:45"
x <- as.POSIXct(x, format = '%m/%d/%y %H:%M')

但是,我正在获得NA。请帮忙!

2 个答案:

答案 0 :(得分:1)

使用lubridate包。

library(lubridate)
> d = '2018-02-27 00:03:45'
> parse_date_time(d, orders = 'ymd HMS')
[1] "2018-02-27 00:03:45 UTC"

答案 1 :(得分:0)

您可以将lubridate包用于异构日期时间数据。 parse_date_time为您提供了定义多种格式的选项,其中可以预期日期中的日期/时间。

#Many different formats of date/time data
x <- c("17-01-01", "170502", "18-01 03", "18-01-03 12:02", "2018-01-03 12:02:15",
       "2018-02-27 00:03:45", "2018-02-27 00:03")
#Defined 3 different types of formatting for parse_date_time
parse_date_time(x, c("ymd", "ymd HM", "ymd HMS"))

#Result
[1] "2017-01-01 00:00:00 UTC" "2017-05-02 00:00:00 UTC" "2018-01-03 00:00:00 UTC"
[4] "2018-01-03 12:02:00 UTC" "2018-01-03 12:02:15 UTC" "2018-02-27 00:03:45 UTC"
[7] "2018-02-27 00:03:00 UTC"