FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
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. Última edición por dec fecha: 22-05-2022 a las 18:50:35. |
#2
|
||||
|
||||
Puede que en alguno de los cálculos use un double y haga un "trunc" para quitar decimales y ahí pierda el valor correcto.
|
#3
|
||||
|
||||
Hola a todos,
Sí que se hace algún "trunc", sí... Lo raro sería porqué el resultado es el esperado con algunas horas y con otras no lo es. Por lo demás, parece que se trata de algo que, al menos en Delphi 10.4, parece "solucionado". Y entrecomillo "solucionado" porque no estoy seguro de que se trate de un error, puesto que desde luego es totalmente consistente: el resultado es siempre el mismo, aunque, no es el esperado. En fin... acaso se pueda lidiar con dicho problema si no queda más remedio. ¡Gracias por tu respuesta Casimiro! |
#4
|
||||
|
||||
¿Y al revés también sucede?
Cita:
|
#5
|
||||
|
||||
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. Última edición por dec fecha: 23-05-2022 a las 11:01:59. |
#6
|
||||
|
||||
Copiado de la delphi comunity:
mDateTimeToMillisecons es DateTimeToMillisecons mMinutesBetween es MinutesBetween
|
#7
|
||||
|
||||
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". |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
dll delphi funcion capturar resultado | JXJ | Varios | 2 | 03-03-2011 18:18:00 |
Funcion MinutesBetween... | Jose Roman | OOP | 6 | 09-12-2009 23:07:16 |
delphi.error extraño en la funcion encriptar | tebre | Varios | 2 | 12-12-2008 20:14:51 |
Sobre cierto resultado de la función SHGetSpecialFolderPath | dec | API de Windows | 3 | 01-06-2005 06:59:01 |
Resultado extraño... | vantta | C++ Builder | 5 | 01-02-2005 11:45:33 |
|