rdatetimetime-seriesstrptime

How to parse milliseconds?


How do I use strptime or any other functions to parse time stamps with milliseconds in R?

time <- "2010-01-15 13:55:23.975"
print(time)
# [1] "2010-01-15 13:55:23.975"
strptime(time, format="%Y-%m-%d %H:%M:%S.%f")
# [1] NA
strptime(time, format="%Y-%m-%d %H:%M:%S")
# [1] "2010-01-15 13:55:23"`

Solution

  • Courtesy of the ?strptime help file (with the example changed to your value):

    > z <- strptime("2010-01-15 13:55:23.975", "%Y-%m-%d %H:%M:%OS")
    > z # prints without fractional seconds
    [1] "2010-01-15 13:55:23 UTC"
    
    > op <- options(digits.secs=3)
    > z
    [1] "2010-01-15 13:55:23.975 UTC"
    
    > options(op) #reset options