Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Подскажите процедуру: как найти количество сек, мин, час, дней [D5, D6, Win95/98, WinME, NT4, Win2k, WinXP]


Страницы:   1 2

velk ©   (2002-09-04 08:07:00) 

Подскажите процедуру: как найти количество сек, мин, час, дней между двумя датами и time типа
датаначала:TDate
датаокончания:TDate
времяначала :TTime
времяокончания :TTime


Turalyon   (2002-09-04 10:25:00) [1]

Ах вот оно что... но все равно крвивовато както вопрос поставлен


Anatoly Podgoretsky   (2002-09-04 10:24:00) [2]

Stranger71 (04.09.02 09:47)
Дело не в этом, а в том, что разница датой не является


MBo   (2002-09-04 10:13:00) [3]

>Turalyon фраза 1.5 месяца не совсем корректна
то-то и оно. Но такой уж был вопрос.
В этой постановке до 29 марта будет (0.5+29/31) месяца


Turalyon   (2002-09-04 10:10:00) [4]

А что обзначает 1.5 месяца? В разных месяцах разное колличество дней... по этому фраза 1.5 месяца не совсем корректна... ИМХО


MBo   (2002-09-04 10:04:00) [5]

>И все же?
Если вопрос о том, чего нельзя - то
>дробное количество месяцев (с 15 февраля невисокосного по 31 марта 1.5 месяца)


Turalyon   (2002-09-04 09:59:00) [6]

>MBo © (04.09.02 09:46)
И все же?


Stranger71   (2002-09-04 09:47:00) [7]

>MBo ©
Да, действительно....
Что-то я не продумал...
TDateTime - это ж действительное число, в котором целая часть - это кол-во дней, а дробная отвечает за время. Разница - это соответственно то что нам нужно декодировать в задаче.
А FormatDateTime конвертит это, отталкиваясь не от Рождества Христова, а от 1900 года. А я это забыл.


MBo   (2002-09-04 09:46:00) [8]

>Turalyon
Многое, но не все. Ну да ладно.


Turalyon   (2002-09-04 09:42:00) [9]

>MBo © (04.09.02 09:00)
Ну все решается теми же функциями - если количество нецелых дней - то HoursBetween / 24, все висакосные приколы, она понимает.


Anatoly Podgoretsky   (2002-09-04 09:42:00) [10]

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


MBo   (2002-09-04 09:30:00) [11]

>Stranger71
результат потрясающий!!! ;)
для 14.09.2002-4.09.2002 будет

08.01.190023:59:58


Stranger71   (2002-09-04 09:26:00) [12]

Неужто никто не в курсе?
Это просто!
FormatDateTime("dd/mm/yyyy hh:mm:ss", (EndDate+EndTime)-(StartDate+StartTime) )


Anatoly Podgoretsky   (2002-09-04 09:25:00) [13]


Days := Trunc(D);
Hour := Trunc(D*24);
Min := Trunc(D*24*60);
Sec := Trunc(D*24*60*60);


velk   (2002-09-04 09:03:00) [14]

Days кол дней


velk   (2002-09-04 09:02:00) [15]

StartDate:=MonthCalendar1.Date;
EndDate:=MonthCalendar2.Date;
StartTime:=DateTimePicker1.Time;
EndTime:=DateTimePicker2.Time;

d:=(EndDate+EndTime)-(StartDate+StartTime);
DecodeTime(d,hours,min,sec,ms);
t:=(Trunc(hours*3600)+Trunc(min*60)+Trunc(d)*86400);
Days:=Trunc(d);
min:=days*1440+hours*60+Min;//Общее кол мин


velk   (2002-09-04 09:00:00) [16]

DateUtils из RX?


MBo   (2002-09-04 09:00:00) [17]

>Turalyon
Одному надо получить количество целых дней, другому дней+часов и т.д., третьему дробное количество дней, а как-то спрашивали даже дробное количество месяцев (с 15 февраля невисокосного по 31 марта 1.5 месяца) и т.д.


Turalyon   (2002-09-04 08:57:00) [18]

>velk © (04.09.02 08:53)
Модуль DateUtils

>MBo ©
Ээээ... например? Мне чего то в голову не приходит как можно по разному?


MBo   (2002-09-04 08:53:00) [19]

>надо так
Ну вот и хорошо ;)

>Turalyon
Может, и можно, просто задачу определения временного интервала можно ставить совсем по-разному


velk   (2002-09-04 08:53:00) [20]

а это разве стандартные функции?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо