Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/23: Рейтинг темы: голосов - 23, средняя оценка - 4.57
Машенька19
0 / 0 / 0
Регистрация: 26.04.2012
Сообщений: 13
1

Рассчитывание количества дней, часов, минут между двумя введенными датами

26.04.2012, 21:53. Просмотров 4387. Ответов 8
Метки нет (Все метки)

Здравствуйте уважаемые программисты!!! Не очень понимаю программирование. Очень нужна ваша квалифицированная помощь в решении задачи: нужно написать программу на delphi расчитывающую количество дней, часов и минут между двумя введенными датами. Буду очень признательна!!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2012, 21:53
Ответы с готовыми решениями:

Определение количества дней между двумя датами!
Здравствуйте! помогите написать программу определяющую количество дней между...

Количество часов между двумя датами
Нужно вычислить кол-во часов между двумя датами. Точность тоже имеет значение...

Вычислить количество дней между двумя датами
Вычислить количество дней между двумя датами. Начальные и конечные значения дат...

Вычисление количества дней между датами
Добрый день суть проблемы такова, есть 3 поля едит в первом окне стоит реальная...

Рассчитать количество месяцев и дней между двумя датами
Нужна ваша помощь. Необходимо расчитать количество месяц и дней или только...

8
Alex_pac
1293 / 699 / 107
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
26.04.2012, 22:04 2
можно время перевести в Unix timestamp

тогда все рассчеты промежутков станут проще

http://www.delphisources.ru/pages/faq/base/dt_to_unix_ts.html
0
Машенька19
0 / 0 / 0
Регистрация: 26.04.2012
Сообщений: 13
26.04.2012, 22:06  [ТС] 3
А можно как то по понятнее=)
0
Alex_pac
1293 / 699 / 107
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
26.04.2012, 22:32 4
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
procedure TForm1.Button1Click(Sender: TObject);
var r,y,d,h,m,s: integer;
begin
  dd1.Time:=dt1.Time;
  dd2.Time:=dt2.Time;
  r := Abs (DateTimeToUnix(dd1.DateTime) - DateTimeToUnix(dd2.DateTime));
  y:=Trunc(r/(365*24*3600));
  dec(r,y * (365*24*3600));
  d:= Trunc(r/(24*3600));
  dec(r,d * 24*3600);
  h:= Trunc(r/(3600));
  dec(r,h * 3600);
  m:= Trunc(r/(60));
  dec(r,m * 60);
  s:=r;
  Memo1.Clear;
  Memo1.Lines.Add('Годы: '+inttostr(y));
  Memo1.Lines.Add('Дни: '+inttostr(d));
  Memo1.Lines.Add('Часы: '+inttostr(h));
  Memo1.Lines.Add('Минуты: '+inttostr(m));
  Memo1.Lines.Add('Секунды: '+inttostr(s));
end;
1
Миниатюры
Рассчитывание количества дней, часов, минут между двумя введенными датами  
Вложения
Тип файла: zip разница меджу датами.zip (239.5 Кб, 164 просмотров)
Машенька19
0 / 0 / 0
Регистрация: 26.04.2012
Сообщений: 13
26.04.2012, 23:24  [ТС] 5
Спасибо огромное, а немогли бы вы мне немного объяснить как что делается=)

Добавлено через 46 минут
А как сделать чтобы вместо лет показывались дни?
0
Arcor
5035 / 1912 / 407
Регистрация: 20.11.2009
Сообщений: 6,251
Записей в блоге: 1
27.04.2012, 00:02 6
годы умножить на 365, грубо на 365, если не делать расчет на високосный год и получатся дни
Цитата Сообщение от Машенька19 Посмотреть сообщение
Не очень понимаю программирование
задача для 3-4 класса, умножение или деление, программистического тут почти ничего нет, расчет только математический
0
Машенька19
0 / 0 / 0
Регистрация: 26.04.2012
Сообщений: 13
27.04.2012, 06:49  [ТС] 7
Мне как раз надо с учетом високосных годов, умножить я и сама знаю что на что.
0
Alex_pac
1293 / 699 / 107
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
27.04.2012, 12:25 8
Мне как раз надо с учетом високосных годов
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure TForm1.Button1Click(Sender: TObject);
var r,d,h,m,s: integer;
begin
  dd1.Time:=dt1.Time;
  dd2.Time:=dt2.Time;
  r := Abs (DateTimeToUnix(dd1.DateTime) - DateTimeToUnix(dd2.DateTime));
  d:= Trunc(r/(24*3600));
  dec(r,d * 24*3600);
  h:= Trunc(r/(3600));
  dec(r,h * 3600);
  m:= Trunc(r/(60));
  dec(r,m * 60);
  s:=r;
  Memo1.Clear;
  Memo1.Lines.Add('Дни: '+inttostr(d));
  Memo1.Lines.Add('Часы: '+inttostr(h));
  Memo1.Lines.Add('Минуты: '+inttostr(m));
  Memo1.Lines.Add('Секунды: '+inttostr(s));
end;
1
Arcor
5035 / 1912 / 407
Регистрация: 20.11.2009
Сообщений: 6,251
Записей в блоге: 1
27.04.2012, 16:08 9
Цитата Сообщение от Машенька19 Посмотреть сообщение
А как сделать чтобы вместо лет показывались дни?
Цитата Сообщение от Машенька19 Посмотреть сообщение
умножить я и сама знаю что на что.
2 противоречащих сообщения...
вот проверка года високосный/не високосный
Delphi
1
2
if ( Year mod 4 = 0 ) and
      ( ( Year mod 100 <> 0 ) or ( Year mod 400 = 0 ) ) then
или проще, есть уже готовая функция проверяющая
Delphi
1
IsLeapYear(тут год)
0
27.04.2012, 16:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.04.2012, 16:08

Количество дней между датами
Здравствуйте! Подскажите пожалуйста как лучше написать программу рассчет...

Количество дней между датами
Здравствуйте. Есть две даты в ячейках StringGrid , введенные с помощью...

Количество дней между 2-мя датами
Помогите найти количество дней меджу двумя датами, если например даты вводяться...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru