同时,你的数据格式是很工整的,可以直接用as.Date()或者as.POSIXlt()来转换,前者省略后面的具体时间,后者完整表现时间。
- > date1 <- c('2008-03-17 12:33:45','2009-09-18 18:16:56','2010-12-03 09:35:11')
- > date2 <- as.Date(c('2008-03-17 12:33:45','2009-09-18 18:16:56','2010-12-03 09:35:11'))
- > date3 <- as.POSIXlt(c('2008-03-17 12:33:45','2009-09-18 18:16:56','2010-12-03 09:35:11'))
- > class(date1)
- [1] "character"
- > class(date2)
- [1] "Date"
- > class(date3)
- [1] "POSIXlt" "POSIXt"
- > date2[2]-date2[1]
- Time difference of 550 days
- > date3[2]-date3[1]
- Time difference of 550.2383 days