Я новичок в Delphi (программировал в нем около 6 месяцев). До сих пор это был очень неприятный опыт, большинство из которых исходило из того, насколько плохим Дельфи занимается обработка дат и времени. Может быть, я думаю, что это плохо, потому что я не знаю, как правильно использовать TDate и TTime, я не знаю. Вот что происходит со мной прямо сейчас:
// This shows 570, as expected
ShowMessage(IntToStr(MinutesBetween(StrToTime('8:00'), StrToTime('17:30'))));
// Here I would expect 630, but instead 629 is displayed. WTF!?
ShowMessage(IntToStr(MinutesBetween(StrToTime('7:00'), StrToTime('17:30'))));
Это не точный код, который я использую, все в переменных и используется в другом контексте, но я думаю, что вы можете увидеть проблему. Почему это неправильное вычисление? Как я могу решить эту проблему?