解析R中的字符日期时间格式

时间:2018-01-19 20:13:07

标签: r date

我正在尝试将列解析为两个变量," date"和"时间"在R.我安装了lubridate库。

当前的csv文件具有以下时间戳格式:yyyyMMdd hh:mm a(例如'20170423 12:26 AM')并将列作为字符导入。

我试过这个但是它不能处理我当前的变量'Tran_Date'(下面的代码不起作用):

transactions_file <- as_date('Tran_Date', "%Y%m%d %H:%M %p")

1 个答案:

答案 0 :(得分:0)

我喜欢这样的基础R解决方案,

Tran_Date <- as.POSIXct("20170423 12:26 AM", format = "%Y%m%d %I:%M %p")
Tran_Date
#> [1] "2017-04-23 00:26:00 CEST"

transactions_file <- data.frame(
     date = format(Tran_Date,"%m/%d/%Y"),
     time = format(Tran_Date,"%H:%M")) # possibly add %p if you use %I
transactions_file
#>         date  time
#> 1 04/23/2017 00:26

lubridate

# install.packages(c("tidyverse"), dependencies = TRUE)
library(lubridate)

Tran_Date <- ymd_hm("20170423 12:26 AM")

然后你可以回收上面的内容,或者使用day(Tran_Date) cbind pastemonth(Tran_Date)的某些组合,与paste(hour(Tran_Date), minute(Tran_Date), sep = ":")类似,或者更可能是更聪明的东西。