Rounding DateTime objects

Floor

long ticks = date.Ticks / span.Ticks;

return new DateTime( ticks * span.Ticks, date.Kind );

Round (up on midpoint)

long ticks = (date.Ticks + (span.Ticks / 2) + 1)/ span.Ticks;

return new DateTime( ticks * span.Ticks, date.Kind );

Ceiling

long ticks = (date.Ticks + span.Ticks - 1)/ span.Ticks;

return new DateTime( ticks * span.Ticks, date.Kind );

Leave a Comment