C#: Clamping a datetime to an arbitrary TimeSpan To clamp a datetime to an arbitrary TimeSpan: – delta = a_dateTime.Ticks % TimeSpan.FromHours(1).Ticks; a_dateTime = a_dateTime.AddTicks(-delta);