Я хочу отобразить прошедшее время между двумя датами в строке.Используйте String.Format на TimeSpan для вывода полных секунд без миллисекунд
Скажем, у меня есть следующий код:
DateTime date1 = DateTime.Now();
System.Threading.Thread.Sleep(2500);
DateTime date2 = DateTime.Now();
TimeSpan elapsed = date2.substract(date1);
Console.WriteLine("> {0:hh:mm:ss}", elapsed);
Что я ожидаю:
> 00:00:03
Что я получаю:
> 00:00:02.5002500
Есть ли способ использовать String. Функция форматирования позволяет возвращать только полные секунды?
Я также попытался удалить знаков после запятой с:
elapsed = elapsed.Substract(TimeSpan.FromMiliseconds((double)Timespan.Miliseconds);
Но это не работает, либо так elapsed.Miliseconds возвращает 500 как Integer.
хорошим решением, тоже (и, вероятно, наиболее эффективной в отношении производительности). –
мог бы просто создать новый TimeSpan с 0-секундными фрагментами, а затем распечатать его. Формат «g» вместе с CultureInfo.InvariantCulture должен работать нормально –