我想将字符串转换为R中的日期时间。
例如,我将“ 20110101000”作为字符串。我想将其转换为日期时间“ 2011-01-01 00:00”。我也想'2011-01-01 01:00'减去'2011-01-01 00:00'= 1小时。最终,我希望有一个条件,如果两个日期时间之间的时差不等于1小时
if(diff != 1){do something}
目前,我使用as.Date可以将字符串转换为日期,但没有任何时间选项。POSIXt的结构也给了我一个奇怪的结果。
structure('201101010000',class=c('POSIXt', 'POSIXct'))
[1] "8342-08-21 19:40:00 EDT"
我有10万多个文件必须运行此操作。请让我知道最有效的解决方案。
您可以使用Base R包。
将日期转换为POSIXcts。看下面的代码。
dt1 <- c("201101010100")
dt2 <- c("201101010200")
date1 <- as.POSIXct(dt1, format="%Y%m%d%H%M")
date2 <- as.POSIXct(dt2, format="%Y%m%d%H%M")
diff <- difftime(date2, date1, units="hours")
if(diff != 1) {
print("do something")
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句