У меня есть приложение для расписания поездов, и я пытаюсь рассчитать разницу между двумя моментами в следующем формате HH: MM, поэтому мои пользователи могут легко увидеть, если поезд опаздывает (примечание: я извлекаю «реальные» данные из Интернета, поэтому он обновлен). Это то, что я делаю в данный момент:Действующий алгоритм для расчета разницы между двумя временами?
//schedule time of the train
int hs=12;
int ms=0;
//real time of the train
int hr=12;
int mr=15;
int t1=hs*60 + ms;
int t2=hr*60 + mr;
int d; //integer for the difference in minutes
if(hr>=hs) d=t2-t1; //standard situation
else d=1440+t2-t1; //for situation like sch: 23:55, real: 00:05
Это правильно? Я что-то забываю? У меня было несколько попыток до этого алгоритма, у всех из них были небольшие ошибки, которые могли бы смутить моих пользователей. Насколько я вижу, у этого нет никаких сбоев, по крайней мере, я не мог найти.
P.S .: Я не буду использовать 3 участника LIBS, так что я должен написать свой собственный алгоритм, Тхо я надеюсь, что это будет окончательным ...
Thx!
EDIT: обратите внимание: значения hs/ms/hr/mr жестко закодированы в этом примере, в моем приложении, я их правильно обновил для каждой строки.
Дата и календарь не третья библиотека часть. – Blackbelt