Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Получить начало и конец дня [D2005, XP]


Уч ©   (2006-09-07 13:59:00) 

Получаю текущий день
var
 TD: TDateTime;

TD := Now;

a как получить начало и конец этого дня?


evvcom   (2006-09-07 15:41:00) [1]

> [8] Уч   (07.09.06 15:30)
> разница в значениях которое мне потом вернет DateTimeToStr

Ну и что оно тебе должно вернуть? И почему?

Так вам шашечки или ехать? (с)


SergP.   (2006-09-07 15:40:00) [2]

А для особо ленивых есть стандартные функции:

StartOfTheMonth()
EndOfTheMonth()

находятся в dateutils


Ega23   (2006-09-07 15:39:00) [3]


> разница в значениях которое мне потом вернет DateTimeToStr


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


SergP.   (2006-09-07 15:34:00) [4]

> [8] Уч   (07.09.06 15:30)
> нужен первый и последний день месяца от указанной даты


Первый день - это когда номер дня ставим 1.

Последний день это когда берем первый день следующего месяца и отнимаем 1


Уч   (2006-09-07 15:30:00) [5]

нужен первый и последний день месяца от указанной даты


> А какая тебе разница?

разница в значениях которое мне потом вернет DateTimeToStr


> Ну с началом вроде как все ясно, а с концом аналогично,
> как и с концом дня :)

а это не понял, до какого порядка округлять?


evvcom   (2006-09-07 14:53:00) [6]

> [2] Уч   (07.09.06 14:29)
> Ceil(Now) - дает начало следующего дня, а не конец текущего

А какая тебе разница? Или ты будешь конец дня на равенство проверять? Все равно равенства не получишь, читай про сравнение чисел с плавающей запятой. Потому сравнивай строгос началом следующего дня. Аналогично и с месяцем.

> [6] Ega23 ©   (07.09.06 14:44)
> А что есть начало и конец месяца?

Ну с началом вроде как все ясно, а с концом аналогично, как и с концом дня :)


Ega23   (2006-09-07 14:44:00) [7]


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


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


Уч   (2006-09-07 14:36:00) [8]

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


Уч   (2006-09-07 14:36:00) [9]

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


Ega23   (2006-09-07 14:31:00) [10]

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


Уч   (2006-09-07 14:29:00) [11]

спасибо, начало работает

Ceil(Now) - дает начало следующего дня, а не конец текущего


stone   (2006-09-07 14:03:00) [12]


> начало

Trunc(Now)

> конец

Ceil(Now)


Наверх

Титульная страница Поиск, карта сайта Написать письмо