Время Длительность - PullRequest
       1

Время Длительность

2 голосов
/ 04 января 2012

Возможно, это более простая проблема, чем то, что я делаю, но попытка понять, что форматирование времени абсолютно убивает меня.

Когда я нажимаю кнопку, я собираю время запуска, используя:

    StartTime = DateTime.Now.ToString("hh.mm.ss.tt")

Тогда, когда вычисление будет выполнено, у меня будет:

    EndTime = DateTime.Now.ToString("hh.mm.ss.tt")

Я бы хотел:

    TotalTime = EndTime - StartTime  

Но для печати времени используется формат; "? # Часы, ## минуты, & ## секунды"

Звучит так просто ...


моя правка *

        timenow = DateTime.Now
        start = DateTime.Now

        Dim totaltime As TimeSpan = (timenow - start)
        xlWorkSheet201.Cells(3, 9) = "Total Test Time: " & Format(totaltime.Hours, "#0") & " Hours, " & Format(totaltime.Minutes, "#0") & "Minutes, & " & Format(totaltime.Seconds, "00") & "Seconds."

Ответы [ 3 ]

7 голосов
/ 04 января 2012

Вероятно, я бы не использовал функцию ToString() в переменных StartTime и EndTime, поскольку это превращает их в строки.можно пропустить переменную TotalTime и просто вычислить ее на месте:

Me.Text = (EndTime - StartTime).ToString("hh':'mm':'ss")
1 голос
/ 04 января 2012
Dim TotalTime As TimeSpan = EndTime - StartTime
Console.WriteLine( _
    "{0:#0} Hours, {1:00} Minutes, & {2:00} Seconds", _
    Math.Truncate(TotalTime.TotalHours), _
    TotalTime.Minutes, _
    TotalTime.Seconds _
)
1 голос
/ 04 января 2012

Если вы хотите рассчитать продолжительность, вы не должны использовать строковый тип.Используйте непосредственно переменные DateTime (то есть DateTime.Now).Вы должны получить объект TimeSpan при вычитании.

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