Modified to allow more than 3 decimal places for milliseconds in 8601 date