![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| X-Vlad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 570 Регистрация: 10.4.2002 Где: Украина, Львов Репутация: 1 Всего: 5 |
Привет всем.
Может кто-нить подсказать как получить новую дату: Например сегодня: 09.08.2004 мне нужно отнять от етой даты 3 или N дней... как ето правильно зделать с учётом того что в месяцах разное количество дней? может есть какие-то стандартные процедуры? Зарание благодарен. |
|||
|
||||
| Maverick |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1307 Регистрация: 22.9.2003 Где: Odessa, Ukraine Репутация: 2 Всего: 10 |
procedure TForm1.Button3Click(Sender: TObject);
Var Nach, Konet : TDate; begin Konet := StrToDate('01.04.2004'); Nach := Konet -3; Label1.Caption := DateToStr(Nach); end; и Label1 принмает значение 29.03.2004.... Все это уже зашито внутри типа.... он сам следит... Попробуй присвоить 29 февраля в невисокосный год.... ничего не выйдет.... |
|||
|
||||
| X-Vlad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 570 Регистрация: 10.4.2002 Где: Украина, Львов Репутация: 1 Всего: 5 |
Maverick
спасибо.... |
|||
|
||||
| z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 11 Всего: 102 |
IncDay(TDateTime,-N) вот так можно
-------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
| Unregistered |
|
|||
|
Unregistered |
X-Vlad наверное полезно будет узнать, что TDateTime не что иное как число с плавающей точкой. :-)
|
|||
|
||||
| SlaUr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 3 Всего: 5 |
Я тоже когда пытался прибавлять и вычитать даты с помощью StrToDate и DateToStr но потом отказался от этого т.к.в windows можно поменять разделитель даты (с точки например на '-' в панели управления в пункте "Язык и науиональные стандарты") и эти функции начинают вызывать ошибки.Поэтому это не правильный метод.Как это сделать правильно?Наверно нужно узнать разделитель формата.Я его нашел кажется в win.ini но эту идею развивать не стал.
p.s. То же самое касается и времени (В Винде можно поменять формат отображения времени). p.p.s Наверно IncDay(TDateTime,-N) правильный способ Это сообщение отредактировал(а) SlaUr - 10.3.2004, 11:13 |
|||
|
||||
| gray_k |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1015 Регистрация: 9.1.2003 Где: Москва Репутация: 3 Всего: 22 |
А я при иницмализацииприложения всегда определяю свой формат даты и времени и таким образом не завишу от настроек системы.
-------------------- С уважением. Gray. |
|||
|
||||
| Maverick |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1307 Регистрация: 22.9.2003 Где: Odessa, Ukraine Репутация: 2 Всего: 10 |
Что-то вы глубоко копаете.... никогда такой проблемы не встречал... и счас изуродовал настройки в панели управления, и поперезапускал старые приложения.... и ничего - везде красиво.... у меня ХР и 6 дельфи.... не знаю, думаю, и с 5 было все в порядке.... А во вторых, тут не суть важны функции используемые, а в том, что человек смысла типа TDate не понимал.... а теперь разберется и сам выберет - чего пользовать.... спасибо.... |
|||
|
||||
| SlaUr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 3 Всего: 5 |
Maverick
Сейчас попробовал и если изменить настройки (см катринку ) то подXP не работает ! Если изменить разделитель то Функция StrToDate('10.01.2004') вылетает по ошибке! Что то не вставляется картинка. Вот ссылка на картинку:1.jpg p.s. В принципе навряд ли кто-то изменит этот разделитель у себя в системе. Это сообщение отредактировал(а) SlaUr - 12.3.2004, 11:19 |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |