Extraño resultado de la función "DateUtils.MinutesBetween"
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": ...
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. |
Puede que en alguno de los cálculos use un double y haga un "trunc" para quitar decimales y ahí pierda el valor correcto.
|
Hola a todos,
Cita:
|
¿Y al revés también sucede?
Cita:
|
Hola a todos,
Cambiando los argumentos el resultado es el mismo, y, por otro lado, usar "otra cosa" que no sea "IntToStr"... no sé muy bien qué posible alternativa habría... acabo de probar con "FloatToStr" y el resultado sigue siendo el mismo también... P.D. Yo diría que el resultado viene ya directamente así de "MinutesBetween"... y curiosamente también ocurre lo mismo con "SecondsBetween", por ejemplo. |
Copiado de la delphi comunity:
mDateTimeToMillisecons es DateTimeToMillisecons mMinutesBetween es MinutesBetween
|
Hola a todos,
Gracias Casimiro. En efecto, es exactamente la misma implementación que en la unidad DateUtils de Delphi 10.4... creo que al final algo así habrá que usarse, puesto que la implementación de la unidad DateUtils en Delphi 2007 parece contener "algo" que causa el "problema". |
La franja horaria es GMT +2. Ahora son las 14:51:15. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi