Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在r中将多个日期格式转换为一个_R_Date - Fatal编程技术网

在r中将多个日期格式转换为一个

在r中将多个日期格式转换为一个,r,date,R,Date,我正在处理多个日期格式的凌乱excel文件 2016-10-17T12:38:41Z Mon Oct 17 08:03:08 GMT 2016 10-Sep-15 13-Oct-09 18-Oct-2016 05:42:26 UTC 我想将以上所有内容转换为yyyy-mm-dd格式。我使用下面的代码进行转换,但是很多值都是NA as.Date(parse_date_time(df$date,c('mdy', 'ymd_hms','a b d HMS y','d b y HMS'))) 我怎

我正在处理多个日期格式的凌乱excel文件

2016-10-17T12:38:41Z 
Mon Oct 17 08:03:08 GMT 2016
10-Sep-15
13-Oct-09
18-Oct-2016 05:42:26 UTC
我想将以上所有内容转换为
yyyy-mm-dd
格式。我使用下面的代码进行转换,但是很多值都是NA

as.Date(parse_date_time(df$date,c('mdy', 'ymd_hms','a b d HMS y','d b y HMS')))
我怎么能把它们都放在一起呢。我读过关于类似案例的其他文章,但对我的案例似乎没有任何效果。
请帮助

如果我将
'dmy'
添加到列表中,则至少成功解析了示例中的所有案例:

 z <- c("2016-10-17T12:38:41Z", "Mon Oct 17 08:03:08 GMT 2016", 
 "10-Sep-15",  "13-Oct-09", "18-Oct-2016 05:42:26 UTC")

library(lubridate)
parse_date_time(z,c('mdy', 'dmy', 'ymd_HMS','a b d HMS y','d b y HMS'))
## [1] "2016-10-17 12:38:41 UTC" "2016-10-17 08:03:08 UTC"
## [3] "2015-09-10 00:00:00 UTC" "2009-10-13 00:00:00 UTC"
## [5] "2016-10-18 05:42:26 UTC"

z如果我将
'dmy'
添加到列表中,则至少成功解析了示例中的所有案例:

 z <- c("2016-10-17T12:38:41Z", "Mon Oct 17 08:03:08 GMT 2016", 
 "10-Sep-15",  "13-Oct-09", "18-Oct-2016 05:42:26 UTC")

library(lubridate)
parse_date_time(z,c('mdy', 'dmy', 'ymd_HMS','a b d HMS y','d b y HMS'))
## [1] "2016-10-17 12:38:41 UTC" "2016-10-17 08:03:08 UTC"
## [3] "2015-09-10 00:00:00 UTC" "2009-10-13 00:00:00 UTC"
## [5] "2016-10-18 05:42:26 UTC"

z首先删除时间可以在
orders
中只指定三个选项来解析问题中的样本数据。这将
10-Sep-15
13-Oct-09
解释为dmy,但如果您希望将其解释为ymd,则取消注释注释掉的行:

orders <- c("dmy", "mdy", "ymd")
# orders <- c("ymd", "dmy", "mdy")

as.Date(parse_date_time(gsub("..:..:..", " ", x), orders = orders))
或者,如果注释掉的行未注释,则:

[1] "2016-10-17" "2016-10-17" "2010-09-15" "2013-10-09" "2016-10-18"
注意:输入为:

x <- c("2016-10-17T12:38:41Z ", "Mon Oct 17 08:03:08 GMT 2016", "10-Sep-15", 
"13-Oct-09", "18-Oct-2016 05:42:26 UTC")

x首先删除times可以在
orders
中只指定三个选项来解析问题中的样本数据。这将
10-Sep-15
13-Oct-09
解释为dmy,但如果您希望将其解释为ymd,则取消注释注释掉的行:

orders <- c("dmy", "mdy", "ymd")
# orders <- c("ymd", "dmy", "mdy")

as.Date(parse_date_time(gsub("..:..:..", " ", x), orders = orders))
或者,如果注释掉的行未注释,则:

[1] "2016-10-17" "2016-10-17" "2010-09-15" "2013-10-09" "2016-10-18"
注意:输入为:

x <- c("2016-10-17T12:38:41Z ", "Mon Oct 17 08:03:08 GMT 2016", "10-Sep-15", 
"13-Oct-09", "18-Oct-2016 05:42:26 UTC")
x
解析日期时间(df$date,c('dmy','YmdT','abdty','dmYT'))
解析日期时间(df$date,c('dmy','YmdT','abdty','dmYT'))