Как я могу конвертировать TimeSpan в int и показывать часы в квартальных долях? - PullRequest
0 голосов
/ 20 марта 2020

У меня есть приложение ASP. NET MVC, над которым я работаю, и мне нужно рассчитать время. Я использовал TimeSpan, чтобы вычислить общее затраченное время, но мне нужно преобразовать в int, и вместо 7:30:00 в течение 7 с половиной часов мне нужно 7,5. Ниже приведен код, с которым я работаю. Пожалуйста, укажите мне в правильном направлении.

public TimeSpan? MonDailyHours
{
        get
        {
            if (MonTimeIn.HasValue && MonTimeOut.HasValue)
            {
                TimeSpan allDay = MonTimeOut.Value.Subtract(MonTimeIn.Value);
                TimeSpan lunch = MonLunchEnd.Value.Subtract(MonLunchStart.Value);

                var Total = (int) allDay - lunch;
            }
            return null;
        }            
}

Попытка с var Total не удалась, потому что не удалось преобразовать. Я знаю, что упускаю из виду что-то простое, но я застрял.

1 Ответ

2 голосов
/ 20 марта 2020

Во-первых, 7.5 не является int. Во-вторых, вы использовали как метод вычитания, так и оператор вычитания, которые эквивалентны.

    var total = (MonTimeOut.Value - MonTimeIn.Value) - (MonLunchEnd.Value - MonLunchStart.Value);
    double hours = total.TotalHours;
...