Начало и конец дня

← →
Уч (2006-09-07 13:59)

Получаю текущий день
var
TD: TDateTime;
TD := Now;
a как получить начало и конец этого дня?

← →
stone © (2006-09-07 14:03)

> начало
Trunc(Now)
> конец
Ceil(Now)

← →
Уч (2006-09-07 14:29)

спасибо, начало работает
Ceil(Now) — дает начало следующего дня, а не конец текущего

← →
Ega23 © (2006-09-07 14:31)

А что есть конец текущего?
23:59:59?
23:59:59.999?
23:59:59.99999999?

← →
Уч (2006-09-07 14:36)

первый вариант утроил бы
сделал так: trunc(Now) + 0.999999

← →
Уч (2006-09-07 14:36)

а есть варианты для начала и конца месяца?

← →
Ega23 © (2006-09-07 14:44)

> а есть варианты для начала и конца месяца?
А что есть начало и конец месяца?
Не, я не прикалываюсь, я серьёзно. Это именно то время (количество дней * 24 часа), которое прошло в месяце? Это первый и последний день месяца?
Не всё так просто.

← →
evvcom © (2006-09-07 14:53)

> Уч (07.09.06 14:29)
> Ceil(Now) — дает начало следующего дня, а не конец текущего
А какая тебе разница? Или ты будешь конец дня на равенство проверять? Все равно равенства не получишь, читай про сравнение чисел с плавающей запятой. Потому сравнивай строго с началом следующего дня. Аналогично и с месяцем.
> Ega23 © (07.09.06 14:44)
> А что есть начало и конец месяца?
Ну с началом вроде как все ясно, а с концом аналогично, как и с концом дня 🙂

← →
Уч (2006-09-07 15:30)

нужен первый и последний день месяца от указанной даты
> А какая тебе разница?
разница в значениях которое мне потом вернет DateTimeToStr
> Ну с началом вроде как все ясно, а с концом аналогично,
> как и с концом дня 🙂
а это не понял, до какого порядка округлять?

← →
SergP. (2006-09-07 15:34)

> Уч (07.09.06 15:30)
> нужен первый и последний день месяца от указанной даты
Первый день — это когда номер дня ставим 1.
Последний день это когда берем первый день следующего месяца и отнимаем 1

← →
Ega23 © (2006-09-07 15:39)

> разница в значениях которое мне потом вернет DateTimeToStr
Так тебе строковое представление конца месяца надо? Или истинное?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *