Подскажите пожалуйста такую проблему:
как надежно определять последние числа месяца, года и т.п.
Возьмем для примера месяц:
Дело в том, что функции EndOfTheMonth(Date), он возвращает последнюю секунду месяца, но из-за округления (я так полагаю) мы в итоге нередко получаем первое число следующего месяца, когда делаем что-то типа
DateTimeToString(lStr, 'dd.mm.yy', EndOfTheMonth(Date))
или просто в дебаггере смотрим эту дату и она там целым числом прописана, т.е. без времени
пока борюсь заменяя EndOfTheMonth(Date) на StartOfTheDay(EndOfTheMonth(Date))
Такой вариант пока работает надежно, кроме того за функциями Start* я такого глюка не замечал, хотя по логике он может выдавать последний день предыдущего периода, вместо первого у текущего..
Подскажите плиз, как лучше и надежнее такие штуки обрабатывать :-?
как надежно определять последние числа месяца, года и т.п.
Возьмем для примера месяц:
Дело в том, что функции EndOfTheMonth(Date), он возвращает последнюю секунду месяца, но из-за округления (я так полагаю) мы в итоге нередко получаем первое число следующего месяца, когда делаем что-то типа
DateTimeToString(lStr, 'dd.mm.yy', EndOfTheMonth(Date))
или просто в дебаггере смотрим эту дату и она там целым числом прописана, т.е. без времени
пока борюсь заменяя EndOfTheMonth(Date) на StartOfTheDay(EndOfTheMonth(Date))
Такой вариант пока работает надежно, кроме того за функциями Start* я такого глюка не замечал, хотя по логике он может выдавать последний день предыдущего периода, вместо первого у текущего..
Подскажите плиз, как лучше и надежнее такие штуки обрабатывать :-?