Hi, I checked the same with strptime. It is the rounding issue.
Try this: dat1<-data.frame(datetime=c("2012-06-15 16:32:39.0025 CEST","2012-06-15 16:32:39.0086 CEST")) op<-options(digits.secs=4) dat1$datetime<- strptime(dat1$datetime, "%Y-%m-%d %H:%M:%OS") formatC(as.numeric(difftime(dat1[2,1],dat1[1,1],units="secs")),format="f",digits=4) [1] "0.0061" #or, formatC(as.numeric(diff(dat1$datetime)),format="f",digits=4) [1] "0.0061" A.K. ----- Original Message ----- From: Julia <julia.schm...@gmx.de> To: r-h...@stat.math.ethz.ch Cc: Sent: Friday, June 15, 2012 12:49 PM Subject: [R] Wrong computation of time differenze in POSIXct - additional digits Hello, I wanted to compute the time differenze between to times: first =as.POSIXct( "2012-06-15 16:32:39.0025 CEST") second = as.POSIXct("2012-06-15 16:32:39.0086 CEST") second - first The result is Time difference of 0.006099939 secs instead of just 0.0061 secs So R adds aditional numbers after the result. I know I could round it in this case. But I am working with a large data set and need to always get the correct result. difftime() does not work correct either. Has anybody a suggestion how to get the correct result? Thank you Julia ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.