在R中解析ISO8601日期和时间格式

Ric*_*ico 9 datetime r

这应该很快 - 我们在R中解析以下格式:

2013-04-05T07:49:54-07:00

我目前的做法是

require(stringr) 
timenoT <- str_replace_all("2013-04-05T07:49:54-07:00", "T", " ") 
timep <- strptime(timenoT, "%Y-%m-%d %H:%M:%S%z", tz="UTC")
Run Code Online (Sandbox Code Playgroud)

但它给了NA.

Jos*_*ich 15

%z是以小时为单位的带符号偏移量,格式hhmm不是hh:mm.这是删除最后一种方法的一种方法:.

newstring <- gsub("(.*).(..)$","\\1\\2","2013-04-05T07:49:54-07:00")
(timep <- strptime(newstring, "%Y-%m-%dT%H:%M:%S%z", tz="UTC"))
# [1] "2013-04-05 14:49:54 UTC"
Run Code Online (Sandbox Code Playgroud)

另请注意,您不必删除"T".