Пытаюсь из 61 минут сделать в 1 час 1 минуту в c#. Помогите пожалуйста
Я пытаюсь сделать так, чтобы например, стоит 1 час и 61 минуту, сделал +1 час и остался 1 минута. Если это возможно, то как? Пожалуйста помогите мне.
Вот мой код, который у меня не получился:
Есть вопросы, задавайте мне.
private void button2_Click(object sender, EventArgs e)
{
hours = Convert.ToInt32(HourInput.Text);
minutes = Convert.ToInt32(MinuteInput.Text);
hoursPlus += hours;
minutesPlus += minutes;
if(minutesPlus == 60)
{
hoursPlus++;
minutesPlus = 0;
}
else if(minutesPlus >= 61)
{
hoursPlus++;
// тут дальше я запутался...
}
TimesRes.Text = "Hours: " + hoursPlus.ToString() + " | Minutes: " + minutesPlus.ToString();
}
Ответы (3 шт):
Автор решения: CrazyElf
→ Ссылка
Пока минут 60 или больше увеличиваете часы и вычитаете 60 из минут.
while(minutesPlus >= 60)
{
hoursPlus++;
minutesPlus -= 60;
}
Это вместо всего вашего if ... else ....
Автор решения: tym32167
→ Ссылка
Для этого есть TimeSpan
int hours = 10;
int minutes = 61;
var timeSpan = TimeSpan.FromHours(hours).Add(TimeSpan.FromMinutes(minutes));
Console.WriteLine($"Hours {timeSpan.Hours}"); // от 0 до 23
Console.WriteLine($"Minutes {timeSpan.Minutes}"); // от 0 до 59
Вывод
Hours 11
Minutes 1