Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Работа с датой в Delphi

7.6K
19 июня 2006 года
Dick_H
56 / / 20.02.2006
На форме есть три поля:
- Дата договора
- Дата поставки
- Фактический срок поставки (в днях)
Сначала всегда заполняеться дата заключения договора, когда договор уже выполнен, то соответственно и заполняеться дата поставки.
Нужно сделать рассчет
фактического срока поставки:=дата поставки - дата договора.
Как можно формат дд.мм.гггг перобразовать, чтобы потом можно было легко проводить арифметические операции?
8
19 июня 2006 года
mfender
3.5K / / 15.06.2005
Цитата:
Как можно формат дд.мм.гггг перобразовать, чтобы потом можно было легко проводить арифметические операции?


Из вопроса абсолютно не ясно, в каком виде изначально представлено время, над которым следует производить вычисления.

Одно известно точно - время в Delphi представлено в виде числа с плавающей точкой (double). Так вод над этими числами и нужно производить все манипуляции.

7.6K
19 июня 2006 года
Dick_H
56 / / 20.02.2006
В данный момент в поля заноситься информация в формате:
- Дата договора - формат дд.мм.гггг (01.01.2006)
- Дата поставки - формат дд.мм.гггг (02.02.2006)
- Фактический срок поставки - текстовый...

Вычисление сделал, но в поле "Фактический срок поставки" заносяться данные в формате дд.мм.гггг и выглядет примерно так: 04.01.1900... мне так не надо, мне нужно, чтобы были лишь дни...
8
19 июня 2006 года
mfender
3.5K / / 15.06.2005
Если я правильно понял, для написания даты используется TEdit (TEditMask)?
303
19 июня 2006 года
makbeth
1.0K / / 25.11.2004
Зачем изобретать велосипед, когда модуль DateUtils содержит уже готовые функции XXXBetween (например разницу в днях между двумя датами вычисляет DaysBetween)? ;)
Тоже самое при сложении даты с некоторым количеством дней можно использовать функцию IncDay.
7.6K
19 июня 2006 года
Dick_H
56 / / 20.02.2006
[QUOTE=makbeth]Зачем изобретать велосипед, когда модуль DateUtils содержит уже готовые функции XXXBetween (например разницу в днях между двумя датами вычисляет DaysBetween)? ;)
Тоже самое при сложении даты с некоторым количеством дней можно использовать функцию IncDay.[/QUOTE]
Можно на этом моменте по подробнее, то есть как я могу это применить у себя?
303
19 июня 2006 года
makbeth
1.0K / / 25.11.2004
А что тут не ясно?
Вот твое условие:
Цитата:
На форме есть три поля:
- Дата договора
- Дата поставки
- Фактический срок поставки (в днях)
Сначала всегда заполняеться дата заключения договора, когда договор уже выполнен, то соответственно и заполняеться дата поставки.
Нужно сделать рассчет
фактического срока поставки:=дата поставки - дата договора.
Как можно формат дд.мм.гггг перобразовать, чтобы потом можно было легко проводить арифметические операции?


Вот как можно вычислить фактический срок поставки:

 
Код:
// ContractDate - дата договора
// DeliveryDate - дата поставки
DeliveryPeriod:=DaysBetween(DeliveryDate, ContractDate);

DeliveryPeriod - это как раз и есть фактический срок поставки в днях.
7.6K
19 июня 2006 года
Dick_H
56 / / 20.02.2006
Спасибо - это то, что надо :)
8
19 июня 2006 года
mfender
3.5K / / 15.06.2005
[QUOTE=makbeth]А что тут не ясно?
Вот твое условие:

Вот как можно вычислить фактический срок поставки:
 
Код:
// ContractDate - дата договора
// DeliveryDate - дата поставки
DeliveryPeriod:=DaysBetween(DeliveryDate, ContractDate);

DeliveryPeriod - это как раз и есть фактический срок поставки в днях.[/QUOTE]
Прикол-то в другом: он так и не пояснил, как представляет он себе эту самую дату.... Два раза написал что-то типа dd.mm.YYYY. Но как это использовать в DaysBetween?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог