Hola a todos,
A ver si alguien sabría decirme a qué se debe el siguiente extraño resultado utilizando la función de la unidad DateUtils
"MinutesBetween":
Código Delphi
[-]
var
DateTimeA, DateTimeB: TDateTime;
begin
DateTimeA := EncodeDateTime(2022, 1, 1, 10, 0, 0, 0);
DateTimeB := EncodeDateTime(2022, 1, 1, 11, 0, 0, 0);
ShowMessage(IntToStr(MinutesBetween(DateTimeA, DateTimeB)));
end;
...
Código Delphi
[-]
var
DateTimeA, DateTimeB: TDateTime;
begin
DateTimeA := EncodeDateTime(2022, 1, 1, 9, 0, 0, 0);
DateTimeB := EncodeDateTime(2022, 1, 1, 10, 0, 0, 0);
ShowMessage(IntToStr(MinutesBetween(DateTimeA, DateTimeB)));
end;
P.D. El problema parece estar en Delphi 2007... puesto que en Delphi 10.4 en ambos casos el resultado es el esperado: 60 minutos... lo que me lleva a pensar en algún problema en la unidad "DateUtils" de Delphi 2007... porque además el problema ocurre también, por ejemplo, con la función "SecondsBetween"... y además con varias "horas"... es decir, no sólo de las 9 a las 10, pero, también de las 0 a la 1, por ejemplo.