powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / работа с датами
13 сообщений из 13, страница 1 из 1
работа с датами
    #32194241
jill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Как посчитать время пути и среднюю скорость движения, если изветна длина пути, время начала и завершения? Формулы-то я знаю :)), но как это сделать в дельфях? Время начала и завершения - datetime, то есть может быть и несколько дней! А если просто поделить, то скорость выходит какая-то странненькая!
Заранее спасибо за подсказки!
...
Рейтинг: 0 / 0
работа с датами
    #32194244
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕСли скорость и расстояние в километрах, а время в пути в часах, то в 7 можно так попробовать

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
...
var
  Speed, Distance: double;
  StartDate, EndDate: TDateTime;
  Time: double;
begin
  Distance := ...;
  StartDate := ...;
  EndDate := ...;
  Speed = (Distance *  1000 ) / (SecondsBetween(StartDate, StartDate)) *  3 . 6 ;
  Time:= HourSpan(StartDate, StartDate);
end;
...
Рейтинг: 0 / 0
работа с датами
    #32194255
jill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
дельфя ругнулась: [Error] (7644): Undeclared шdentifier: 'SecondsBetween'
И, наверное, там где-то должна быть и enddate? :)
...
Рейтинг: 0 / 0
работа с датами
    #32194267
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дельфя ругнулась: [Error] (7644): Undeclared шdentifier: 'SecondsBetween'

А DateUtils ты не забыл в uses включить.

И, наверное, там где-то должна быть и enddate?

Так точно, ашибочка вышла. :-)
...
Рейтинг: 0 / 0
работа с датами
    #32194271
jill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
File not found! (dcu)
Может, оно где еще есть?
...
Рейтинг: 0 / 0
работа с датами
    #32194274
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Delphi какой версии?
...
Рейтинг: 0 / 0
работа с датами
    #32194275
jill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
5
...
Рейтинг: 0 / 0
работа с датами
    #32194278
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я на седьмой проверял. Но пошли они с 6...
...
Рейтинг: 0 / 0
работа с датами
    #32194280
jill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как все же быть с 5?
...
Рейтинг: 0 / 0
работа с датами
    #32194294
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Написать свою функцию, в которой разница между датами конвертилась бы нужные единици измерения

Для секунд

result := ROund(24*60*60*(datetime2-datetime1));
...
Рейтинг: 0 / 0
работа с датами
    #32194307
jill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо! Буду пробовать, но уже, видать, завтра! :)
...
Рейтинг: 0 / 0
работа с датами
    #32194357
Дмитрий Мыльников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DataTime в Delphi порождён от вещественного типа double (8 байт). При этом целая часть числа хранит дату (сколько дней прошло от 0 даты, которую я толком не помню :) ), а время это дробная часть числа. То есть, 1 час это 1/24, 1 минута это 1/(24*60), 1 секунда это 1/(24*60*60).
То есть, если вы напишите что-то типа:
var
Period,Start,End:TDateTime;

....
Period:=End-Start;

то в Period будет лежать сколько прошло дней, вкючая дробну часть. Если это меньше, чем один день, то будет число <1.
Чтобы узнать сколько это часов, то просто умножаем на 24. Чтбы узнать сколько это будет минут, то умножаем, соответсвенно, на (24*60), ну и т.д.

То есть, если скорость нужна в км/ч, а путь задан в киломметрах, то
Speed:=Distance/(End-Start)*24;

В общем, надеюсь, что дальше сами уже разберётесь.

Кстати, на всякий случай, текущая дата - функция Date, текущее время - Time, текущая дата и время - Now, или тоже самое, что Date+Time
...
Рейтинг: 0 / 0
работа с датами
    #32194529
jill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответ. Поиспользуем!
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / работа с датами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]