Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.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 - Fatal编程技术网

如何在R中将以下日期格式转换为标准日期格式?

如何在R中将以下日期格式转换为标准日期格式?,r,R,我在dataframe中有以下日期和时间值,有些值是“/”格式,有些是“-”格式。我应该如何标准化格式并将其保持为“DD-MM-YYYY HH:MM:SS”。在某些情况下,时间值也不存在。 有什么建议吗 Datime$Day 11/7/2016 11:51 11/7/2016 17:57 12/7/2016 9:17 12/7/2016 21:08 13-07-2016 08:33:16 13-07-2016 21:57:28 14-07-2016 06:15:32 15-07-2016 05:

我在dataframe中有以下日期和时间值,有些值是“/”格式,有些是“-”格式。我应该如何标准化格式并将其保持为“DD-MM-YYYY HH:MM:SS”。在某些情况下,时间值也不存在。 有什么建议吗

Datime$Day
11/7/2016 11:51
11/7/2016 17:57
12/7/2016 9:17
12/7/2016 21:08
13-07-2016 08:33:16
13-07-2016 21:57:28
14-07-2016 06:15:32
15-07-2016 05:11:52
15-07-2016 17:57:27

一个选项是
parse_date_time
from
lubridate
,以匹配多个模式并将其转换为datetime类

library(lubridate)
parse_date_time(Datime$Day, c("%d/%m/%Y %H:%M", "%d-%m-%Y %H:%M:%S"))
#[1] "2016-07-11 11:51:00 UTC" "2016-07-11 17:57:00 UTC"
#[3] "2016-07-12 09:17:00 UTC" "2016-07-12 21:08:00 UTC"
#[5] "2016-07-13 08:33:16 UTC" "2016-07-13 21:57:28 UTC"
#[7] "2016-07-14 06:15:32 UTC" "2016-07-15 05:11:52 UTC"
#[9] "2016-07-15 17:57:27 UTC"

另一个选项是
anytime
(如果在默认格式列表
getFormats()
中尚未找到格式,请使用
addFormats()
添加新格式)

数据
Datime一个选项是
parse_date_time
from
lubridate
来匹配多个模式并将其转换为datetime类

library(lubridate)
parse_date_time(Datime$Day, c("%d/%m/%Y %H:%M", "%d-%m-%Y %H:%M:%S"))
#[1] "2016-07-11 11:51:00 UTC" "2016-07-11 17:57:00 UTC"
#[3] "2016-07-12 09:17:00 UTC" "2016-07-12 21:08:00 UTC"
#[5] "2016-07-13 08:33:16 UTC" "2016-07-13 21:57:28 UTC"
#[7] "2016-07-14 06:15:32 UTC" "2016-07-15 05:11:52 UTC"
#[9] "2016-07-15 17:57:27 UTC"

另一个选项是
anytime
(如果在默认格式列表
getFormats()
中尚未找到格式,请使用
addFormats()
添加新格式)

数据
Datime使用基本库:

strptime(paste0(gsub("/","-",Datime$Day),":00"),"%d-%m-%Y %H:%M:%S","UTC") 
[1] "2016-07-11 11:51:00 UTC" "2016-07-11 17:57:00 UTC"
[3] "2016-07-12 09:17:00 UTC" "2016-07-12 21:08:00 UTC"
[5] "2016-07-13 08:33:16 UTC" "2016-07-13 21:57:28 UTC"
[7] "2016-07-14 06:15:32 UTC" "2016-07-15 05:11:52 UTC"
[9] "2016-07-15 17:57:27 UTC"

使用基本库:

strptime(paste0(gsub("/","-",Datime$Day),":00"),"%d-%m-%Y %H:%M:%S","UTC") 
[1] "2016-07-11 11:51:00 UTC" "2016-07-11 17:57:00 UTC"
[3] "2016-07-12 09:17:00 UTC" "2016-07-12 21:08:00 UTC"
[5] "2016-07-13 08:33:16 UTC" "2016-07-13 21:57:28 UTC"
[7] "2016-07-14 06:15:32 UTC" "2016-07-15 05:11:52 UTC"
[9] "2016-07-15 17:57:27 UTC"

这些是字符串对吗?
class(Datime$Day)
是否返回“character”?这是一个“character”类。您可以使用
gsub(“/”,“-”,Datime$Day)
这些字符串正确吗?
class(Datime$Day)
是否返回“character”?这是一个“character”类。您可以使用
gsub(“/”,“-”,Datime$Day)
非常感谢您的帮助。它工作正常。@SurajKumarTalreja如果这回答了您的问题,请向上投票并接受答案(顶部打勾)。是@SurajKumarTalreja,而不是感谢,您应该接受它。看一看,非常感谢你的帮助。它工作正常。@SurajKumarTalreja如果这回答了您的问题,请向上投票并接受答案(顶部打勾)。是@SurajKumarTalreja,而不是感谢,您应该接受它。看一看