public static void Main()
var date = DateTime.UtcNow;
Console.WriteLine(date.AddTicks(-(date.Ticks % TimeSpan.TicksPerSecond)));
Console.WriteLine(date.Truncate(TimeSpan.FromSeconds(1)));
public static class DateTimeExtensions
public static DateTime Truncate(this DateTime dateTime, TimeSpan timeSpan)
if (timeSpan == TimeSpan.Zero)
if (dateTime == DateTime.MinValue || dateTime == DateTime.MaxValue)
return dateTime.AddTicks(-(dateTime.Ticks % timeSpan.Ticks));