Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> узнать коректная дата или нет... ---------------------------------------- 
:(
    Опции темы
X-Vlad
Дата 9.3.2004, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 570
Регистрация: 10.4.2002
Где: Украина, Львов

Репутация: 1
Всего: 5



Привет всем.
Может кто-нить подсказать как получить новую дату:

Например сегодня:

09.08.2004 мне нужно отнять от етой даты 3 или N дней...

как ето правильно зделать с учётом того что в месяцах разное количество дней?


может есть какие-то стандартные процедуры?



Зарание благодарен.



--------------------
Хорошая штука - комп..:)
www.x-vlad.com
PM MAIL WWW ICQ   Вверх
Maverick
Дата 9.3.2004, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 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 февраля в невисокосный год.... ничего не выйдет....


--------------------
smile
PM ICQ GTalk   Вверх
X-Vlad
Дата 9.3.2004, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 570
Регистрация: 10.4.2002
Где: Украина, Львов

Репутация: 1
Всего: 5



Maverick

спасибо....


--------------------
Хорошая штука - комп..:)
www.x-vlad.com
PM MAIL WWW ICQ   Вверх
z-END
Дата 9.3.2004, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 11
Всего: 102



IncDay(TDateTime,-N) вот так можно


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
Unregistered
Дата 10.3.2004, 03:01 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











X-Vlad наверное полезно будет узнать, что TDateTime не что иное как число с плавающей точкой. :-)
  Вверх
SlaUr
Дата 10.3.2004, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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
PM MAIL   Вверх
gray_k
Дата 10.3.2004, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1015
Регистрация: 9.1.2003
Где: Москва

Репутация: 3
Всего: 22



А я при иницмализацииприложения всегда определяю свой формат даты и времени и таким образом не завишу от настроек системы.


--------------------
С уважением.
Gray.
PM MAIL   Вверх
Maverick
Дата 10.3.2004, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1307
Регистрация: 22.9.2003
Где: Odessa, Ukraine

Репутация: 2
Всего: 10



Цитата
Я тоже когда пытался прибавлять и вычитать даты с помощью StrToDate и DateToStr но потом отказался от этого т.к.в windows можно поменять разделитель даты (с точки например на '-' в панели управления в пункте "Язык и науиональные стандарты") и эти функции начинают вызывать ошибки.Поэтому это не правильный метод.Как это сделать правильно?Наверно нужно узнать разделитель формата.Я его нашел кажется в win.ini но эту идею развивать не стал.


Что-то вы глубоко копаете.... никогда такой проблемы не встречал... и счас изуродовал настройки в панели управления, и поперезапускал старые приложения.... и ничего - везде красиво.... у меня ХР и 6 дельфи.... не знаю, думаю, и с 5 было все в порядке....
А во вторых, тут не суть важны функции используемые, а в том, что человек смысла типа TDate не понимал.... а теперь разберется и сам выберет - чего пользовать.... спасибо....


--------------------
smile
PM ICQ GTalk   Вверх
SlaUr
Дата 12.3.2004, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 408
Регистрация: 18.9.2003

Репутация: 3
Всего: 5



Maverick

Цитата
никогда такой проблемы не встречал... и счас изуродовал настройки в панели управления, и поперезапускал старые приложения.... и ничего - везде красиво


Сейчас попробовал и если изменить настройки (см катринку ) то подXP не работает ! Если изменить разделитель то Функция StrToDate('10.01.2004') вылетает по ошибке!
user posted image

Что то не вставляется картинка.
Вот ссылка на картинку:1.jpg

p.s. В принципе навряд ли кто-то изменит этот разделитель у себя в системе.

Это сообщение отредактировал(а) SlaUr - 12.3.2004, 11:19
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0479 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.