We still need to round up the value right? We need to call roundTime(ts.getTime()) when nanos = 0. ptr just has the value of timestamp which hasn't been rounded.