Tengo un valor TDateTime
(que obtengo como resultado de EndOfTheMonth(date)
) a un tipo de variante. El resultado está incorrectamente redondeado. Echemos un vistazo al ejemplo:Mala conversión de EndOfTheMonth (date) a Variant value
data := EndOfTheMonth(date);
V := data;
ShowMessage(DateTimeToStr(data) + ' vs ' + VarToStr(V));
// output is
// data = 2012-01-31 23:59:59
// v = 2012-02-01 // why next day?
¿Está diseñado el comportamiento? ¿Cómo evitar esto?
'DateTimeToStr (V)' muestra el resultado correcto también. Aparentemente, el problema es con la función 'VarToStr()'. –
http://www.devexpress.com/Support/Center/p/B223005.aspx así que están equivocados? – JustMe
@AndriyM: Es cierto, pero nunca es (?) Incorrecto ser demasiado explícito. :) –