Форматирование TimeSpan до часов, минут и секунд - PullRequest
0 голосов
/ 06 февраля 2020

Я пытаюсь найти решение для своей проблемы, я использую TimeSpan, чтобы получить общее количество времени, в течение которого окно было открыто, вычитая два объекта Datetime. это работает, но я получаю миллисекунды, и мне нужно только часы, минуты и секунды для отображения. это код, с которым я работаю, _timeStart инициализируется вне метода, но просто получает время, когда открылось окно.

_timeStop = DateTime.Now;
TimeSpan timeSpent = _timeStop.Subtract(_timeStart);
string.Format($"{timeSpent:hh\\:mm\\:ss}");
_logger.Debug(timeSpent);

Ответы [ 2 ]

1 голос
/ 06 февраля 2020

Для отображения только часов / минут / секунд используйте эту строку формата:

var timeSpent = new TimeSpan(1, 12, 23, 62);
Console.WriteLine(timeSpent.ToString(@"hh\:mm\:ss"));

Вы можете найти больше информации здесь

1 голос
/ 06 февраля 2020
var str = string.Format("{0:00}:{1:00}:{2:00}", timeSpent.Hours, timeSpent.Minutes, timeSpent.Seconds);
_logger.Debug(str);

должен сделать трюк

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...