Я хочу округлить DateTime до ближайших 5 секунд. Это то, как я это делаю сейчас, но мне было интересно, был ли лучший или более сжатый способ?
DateTime now = DateTime.Now;
int second = 0;
// round to nearest 5 second mark
if (now.Second % 5 > 2.5)
{
// round up
second = now.Second + (5 - (now.Second % 5));
}
else
{
// round down
second = now.Second - (now.Second % 5);
}
DateTime rounded = new DateTime(now.Year, now.Month, now.Day, now.Hour, now.Minute, second);
Обратите внимание, что я нашел эти два предыдущих вопроса, однако они truncate, а не round время.