R 2010-11-08T09:24:57.000中的日期-时间转换;01:00

R 2010-11-08T09:24:57.000中的日期-时间转换;01:00,r,datetime,R,Datetime,有人知道如何将这个字符转换为R中的日期和时间类型吗 2010-11-08T09:24:57.000+01:00 唯一的非标准字符是最后一个“:”。您可以使用gsub删除它,但我会使用stringi包: library(stringi) a <-"2010-11-08T09:24:57.000+01:00" a <-stri_replace_last_fixed(a, ":", "") strptime(a,"%Y-%m-%dT%H:%M:%OS%z") #[1] "2010-11-

有人知道如何将这个字符转换为R中的日期和时间类型吗

2010-11-08T09:24:57.000+01:00

唯一的非标准字符是最后一个“:”。您可以使用
gsub
删除它,但我会使用
stringi
包:

library(stringi)
a <-"2010-11-08T09:24:57.000+01:00"
a <-stri_replace_last_fixed(a, ":", "")
strptime(a,"%Y-%m-%dT%H:%M:%OS%z")
#[1] "2010-11-08 03:24:57"

这是今年的一个月。时间:分钟:秒。亚秒+越位时间:分钟?数据中的亚秒与0不同吗?是否有非整小时的偏移量?可能
如.POSIXct(gsub(“:([0-9]{2}),“\\1”,“2010-11-08T09:24:57.000+01:00”),format=“%Y-%m-%dT%H:%m:%S.000%z”)
这就成功了!谢谢!已对类似的基于正则表达式的解决方案发表了评论,但不知道
%OS
+1.
a<-gsub("(.*)\\:(:*)", "\\1\\2", a)
[1] "2010-11-08T09:24:57.000+0100"