@Mister_krid

Как сделать формат времени 99:59:59?

Как сделать что бы часы были до 99? Что бы при вводе 359999 секунд возвращало 99:59:59? Так же, можно ли при создании DateTime опустить год, месяц, день если они не нужны(я не нашел таких перегрузок).
private string GetReadebleTime(int seconds)
        {                      
            var maxTime = 359999;           

            if (seconds > maxTime || seconds < 0)
                return "0";

            var hours = seconds / 3600;
            seconds %= 3600;

            var minutes = seconds / 60;
            seconds %= 60;

            DateTime dateTime = new DateTime(1, 1, 1, hours, minutes, seconds);
            return dateTime.ToString("HH:mm:ss");
        }
  • Вопрос задан
  • 214 просмотров
Решения вопроса 1
vabka
@vabka Куратор тега C#
Токсичный шарпист
1. Тебе нужен TimeSpan, а не DateTime.
2. Из коробки нельзя форматировать так, как тебе нужно, так что придётся навелосипедить:
var max = 359999;
var ts = TimeSpan.FromSeconds(max);

var hours = (int)ts.TotalHours;
var minutes = ts.Minutes;
var seconds = ts.Seconds;
var formattedString = $"{hours}:{minutes}:{seconds}";
Console.WriteLine(formattedString); // 99:59:59
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы