public static bool operator >(MyTime a, MyTime b) // Если A > B, то True { MyTime TempA = new MyTime(), TempB = new MyTime(); // на всякий случай делаем отлельное время TempA.Days = a.Days; TempA.Hours = a.Hours; TempA.Minutes = a.Minutes; TempA.Seconds = a.Seconds; TempB.Days = b.Days; TempB.Hours = b.Hours; TempB.Minutes = b.Minutes; TempB.Seconds = b.Seconds; //Чтобы сравнить MyTime(0d 0,60,0) и MyTime(0d 1,0,0) приведём оба времени "к общему знаменателю" //Переведём всё в секунды и сравним TempA = TempA.ConvertTo_Ss(); TempB = TempB.ConvertTo_Ss(); if ((TempA.Seconds) > (TempB.Seconds)) //Сравниваем секунды { return(true); } else { return(false); } }
// Для уменьшения кода выделили повторяющийся код в метод public void Results(MyTime t, TextBox tbx) { tbx.Text += t.ToString() + " = (Д) " + t.ConvertTo_Ds().ToString() + " = (Ч) " + t.ConvertTo_Hs().ToString() + " = (М) " + t.ConvertTo_Ms().ToString() + " = (С) " + t.ConvertTo_Ss().ToString() + '\r' + '\n' + '\r' + '\n'; }
public MyTime ConvertTo_Ms() // конвертируем всё время в Минуты ( и "остаток" пишем в секунды) { MyTime xt = new MyTime(); xt.Ds = Ds; xt.Hs = Hs; xt.Ms = Ms; xt.Ss = Ss; xt = xt.ConvertTo_Ss(); // конвертируем всё время в Секунды xt.Ms = xt.Ss / 60; // переводим секунды в минуты xt.Ss = 0 + Math.Abs(xt.Ms * 60 - xt.Ss); // В секунды пишем остаток return(xt); }
public MyTime ConvertTo_Hs() // конвертируем всё время в Часы (и раскидываем "остаток" на минуты и секунды) { MyTime xt = new MyTime(); xt.Ds = Ds; xt.Hs = Hs; xt.Ms = Ms; xt.Ss = Ss; xt = xt.ConvertTo_Ss(); // конвертируем всё время в Секунды xt.Ms = xt.Ss / 60; // получаем минуты xt.Ss = 0 + Math.Abs(xt.Ms * 60 - xt.Ss); // В секунды пишем остаток xt.Hs = xt.Ms / 60; // получаем часы xt.Ms = 0 + Math.Abs(xt.Hs * 60 - xt.Ms); // В минуты пишем остаток return(xt); }