Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Синтаксис
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.05.2009, 20:10
andruxa-forever andruxa-forever вне форума
Прохожий
 
Регистрация: 19.05.2009
Адрес: Челябинск
Сообщения: 18
Репутация: 10
Восклицание Как из одной даты вычесть другую, чтобы получить период

У меня на форме 2 DateTimePicker'а (начало и конец)...Как получить Период??????
Ответить с цитированием
  #2  
Старый 20.05.2009, 20:24
008agent 008agent вне форума
Прохожий
 
Регистрация: 20.05.2009
Сообщения: 8
Репутация: 10
По умолчанию

Цитата:
Сообщение от andruxa-forever
У меня на форме 2 DateTimePicker'а (начало и конец)...Как получить Период??????



допустим, надо вывести результат на метку label1 , то


label1.Caption:=inttostr(((DateTimeToUnix(DateTime Picker2.Date))-(DateTimeToUnix(DateTimePicker1.Date)))div 86400);


результат-период в днях

Последний раз редактировалось 008agent, 20.05.2009 в 20:33.
Ответить с цитированием
  #3  
Старый 20.05.2009, 20:51
andruxa-forever andruxa-forever вне форума
Прохожий
 
Регистрация: 19.05.2009
Адрес: Челябинск
Сообщения: 18
Репутация: 10
По умолчанию

Надо чтобы показывал....Сколько лет, сколько месяцев, сколько дней
Ответить с цитированием
  #4  
Старый 20.05.2009, 20:51
andruxa-forever andruxa-forever вне форума
Прохожий
 
Регистрация: 19.05.2009
Адрес: Челябинск
Сообщения: 18
Репутация: 10
По умолчанию

Можно вообще так????
Ответить с цитированием
  #5  
Старый 20.05.2009, 21:05
008agent 008agent вне форума
Прохожий
 
Регистрация: 20.05.2009
Сообщения: 8
Репутация: 10
По умолчанию

Цитата:
Сообщение от andruxa-forever
Можно вообще так????
в месяцах сложность. если принять месяц за 30 дней , то нормально, но месяц не 30 дней, бывает 28 , 29 , 30, 31....с неделями и днями нет проблем.
Ответить с цитированием
  #6  
Старый 20.05.2009, 21:08
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

А как ты это себе представляешь?
один год это сколько 365 или 366 дней?
один месяц - 28 или 29 или 30 или 31 день?

и как ты хочешь поиметь период в годах, месяцах и днях???
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #7  
Старый 20.05.2009, 21:09
008agent 008agent вне форума
Прохожий
 
Регистрация: 20.05.2009
Сообщения: 8
Репутация: 10
По умолчанию

Цитата:
Сообщение от Aristarh Dark
А как ты это себе представляешь?
один год это сколько 365 или 366 дней?
один месяц - 28 или 29 или 30 или 31 день?

и как ты хочешь поиметь период в годах, месяцах и днях???


повторяю . с днями и неделями просто. значения не меняются. неделя - 7 дней. вот и все
а с годами и месяцами сложность
Ответить с цитированием
  #8  
Старый 20.05.2009, 21:14
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

008agent, когда я писал ответ твоего сообщения еще не было видно
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #9  
Старый 20.05.2009, 21:15
andruxa-forever andruxa-forever вне форума
Прохожий
 
Регистрация: 19.05.2009
Адрес: Челябинск
Сообщения: 18
Репутация: 10
По умолчанию

А если взять всё по среднему
Год - 365
Месяц - 30
ну и неделя - 7
Ответить с цитированием
  #10  
Старый 20.05.2009, 21:16
008agent 008agent вне форума
Прохожий
 
Регистрация: 20.05.2009
Сообщения: 8
Репутация: 10
По умолчанию

Цитата:
Сообщение от andruxa-forever
А если взять всё по среднему
Год - 365
Месяц - 30
ну и неделя - 7

тогда намного проще
Ответить с цитированием
  #11  
Старый 20.05.2009, 21:17
andruxa-forever andruxa-forever вне форума
Прохожий
 
Регистрация: 19.05.2009
Адрес: Челябинск
Сообщения: 18
Репутация: 10
По умолчанию

Ну ты знаешь как это осуществить????
Ответить с цитированием
  #12  
Старый 20.05.2009, 21:23
008agent 008agent вне форума
Прохожий
 
Регистрация: 20.05.2009
Сообщения: 8
Репутация: 10
По умолчанию

Цитата:
Сообщение от andruxa-forever
Ну ты знаешь как это осуществить????


для простоты ставь 2 метки, 1 скрываешь. можешь и переменную типа string использовать.
осуществляется это так
label1.Caption:=inttostr(((DateTimeToUnix(DateTime Picker2.Date))-(DateTimeToUnix(DateTimePicker1.Date)))div 86400);



Label2.Caption:='прошло'+inttostr(strtoint(Label1. Caption) div 365)+' лет, '+inttostr(((strtoint(Label1.Caption) mod 365) div 30)) +' месяцев, '+inttostr(((((strtoint(Label1.Caption) mod 365) mod 30))div 7))+' недель и '+inttostr((((((strtoint(Label1.Caption) mod 365) mod 30))mod 7))div 1)+' дней';




лучше переменную юзай
Ответить с цитированием
  #13  
Старый 20.05.2009, 21:37
andruxa-forever andruxa-forever вне форума
Прохожий
 
Регистрация: 19.05.2009
Адрес: Челябинск
Сообщения: 18
Репутация: 10
По умолчанию

Спасиб...всё работает...проверил
Ответить с цитированием
  #14  
Старый 20.05.2009, 21:40
008agent 008agent вне форума
Прохожий
 
Регистрация: 20.05.2009
Сообщения: 8
Репутация: 10
По умолчанию

Цитата:
Сообщение от andruxa-forever
Спасиб...всё работает...проверил

рад стараться
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:46.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter