在 R 中将日期从 yyyy-mm-dd 转换为 mm/dd/yyyy h:mm:ss

use*_*292 1 r

我的数据包含一些这种格式的日期字段 yyyy-mm-dd

    id <- c(1,2,3,4,5)
    d1 <- c("2001-01-01", "1999-12-01","2007-11-31", "1995-05-01", "2013-01-07")
    datadd <- data.frame(id,d1)
Run Code Online (Sandbox Code Playgroud)

我需要将日期字段 d1 转换为以下格式 mm/dd/yyyy h:mm:ss 所以数据看起来像:

id  d1  
1   1/1/2001 0:00:00
2   12/1/1999 0:00:00
3   11/13/2007 0:00:00
4   5/1/1995 0:00:00
5   1/7/2013 0:00:00
Run Code Online (Sandbox Code Playgroud)

A5C*_*2T1 5

只需使用strptime(或as.Date)和format

> format(strptime(datadd$d1, format = "%Y-%m-%d"), "%m/%d/%Y %H:%M:%S")
[1] "01/01/2001 00:00:00" "12/01/1999 00:00:00" "11/13/2007 00:00:00"
[4] "05/01/1995 00:00:00" "01/07/2013 00:00:00"

## format(as.Date(datadd$d1), "%m/%d/%Y %H:%M:%S")
Run Code Online (Sandbox Code Playgroud)

我想gsub如果你想删除个位数天和月的前导零,你也可以使用一些。