2014-09-02 2 views
-2

У меня есть две переменные, которые содержат часы и минуты. Я хочу округлить время, если переменная минут = 60 минут.Конвертировать 60 или более минут в часы

Так что если часы = 3, минуты = 60, я хочу вернуть часы = 4 и минуты = 00. Есть ли функция времени для этого?

ответ

4

Попробуйте это (предполагая, что обе hours и minutes являются int):

hours += minutes/60; 
    minutes %= 60; 
4

Это действительно просто реализовать:

while (minutes >= 60) 
{ 
    minutes -= 60; 
    hours += 1; 
} 
+0

спасибо за это ... что-то подобное и было, но минут> 60 как условие вместо минут> = 60 и думал, что мои расчеты были неправильными. –

+2

@ Lucky Вот почему вы должны показать свой код в своем вопросе, кто-то еще мог легко заметить эту ошибку. :) – CodeCaster

0

Создать собственный STRUCT/класс для хранения с помощью пользовательских геттер/сеттер

например

struct myTimeStruct 
    { 
     public int minutes 
     { 
      get { return minutes; } 
      set 
      { 
       minutes = minutes % 60; 
       hours += minutes/60; 
      } 
     } 

     private int hours 
     { 
      get { return hours; } 
      set { hours = value; } 
     } 
    } 
0

Посмотрите на TimeSpan класс:

var hours = 3; 
var minutes = 60; 

var timeSpan = TimeSpan.FromHours(hours) + TimeSpan.FromMinutes(minutes); 
var totalHours = timeSpan.TotalHours;