Truncated start time when setting duration.

When the start time is not truncated (as the end time is), setting the
duration can have the effect that the duration returned after setting
isn't the same as the requested value.