Вниз
Скачать: CL | DM;

Формат времени   Найти похожие ветки 

← →
Марат   (2004-04-14 08:22) [0]

Здравствуйте, мастера. Хочу спросить по какой формуле расчитывается время, т.е. дробная часть. Например, как из 18:00:00 получается 0.75. И второй вопрос: в моей программе ведется расчет контрольного срока и, допустим, время котрольного срока попало на обеденный перерыв (13:00-14:00), тогда мне нужно к контрольному сроку прибавить еще один час. Я сделал так:
DtCntr:=(контрольный срок, допустим 07.04.04 13:34:45)
DtCntr1:=DtCntr-int(DtCntr);
if DtCntr1>=strtotime("13:00:00") or DtCntr1<=strtotime("14:00:00") then
DtCntr:=DtCntr+strtotime("01:00:00");
а может быть можно как-то проще?
И еще. Данной программой пользуются много пользователей. Может ли случится какая-нибудь оказия по поводу AM,PM (00:00-11:59,00:00-23:59)?


← →
Cobalt ©   (2004-04-14 08:24) [1]

TDateTime + F1.
RTFM


← →
Anatoly Podgoretsky ©   (2004-04-14 08:32) [2]

1 час это сутки (1) деленое на количество часов в сутках (24)


← →
Марат   (2004-04-14 08:40) [3]

По первому понял. Спасибо. А по второму? (Справку читал непонятно).


← →
Юрий Зотов ©   (2004-04-14 09:01) [4]

> Марат   (14.04.04 08:22)

1. Дробная часть - это кол-во миллисекунд, прошедших от начала суток, деленное на кол-во миллисекунд в сутках.

2.
а). Ошибка в условии - надо не OR, а AND. И нет скобок.
б). Преобразования строк во время - лишние, только тормозят работу. Заведите константы и используйте их:

var
 Hour13: TDateTime = 13/24;
 Hour14: TDateTime = 14/24;
 Hour1 : TDateTime = 1/24;

3. Если Вы используете преобразования строк в дату или время и установленный в системе пользователя формат даты или времени не совпадает с заданным в программе, то оказия случится - в виде EConvertError. Чтобы этого не было, либо не используйте такие преобразования, либо формируйте строку даты/времени с помощью ShortDateFormat, DateSeparator и TimeSeparator.


← →
Anatoly Podgoretsky ©   (2004-04-14 09:12) [5]

Хватит и одной
OneHour = 1/24
А затем просто  DT + OneHour * 1.5



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.02 c
7-1079348527
Legran
2004-03-15 14:02
2004.05.02
Отслеживаем обращение к диску А:


1-1081806015
griban11
2004-04-13 01:40
2004.05.02
StringGrid


9-1068310197
Cash
2003-11-08 19:49
2004.05.02
Взаимодействия спрайтов


14-1081878366
Ig
2004-04-13 21:46
2004.05.02
Создание компонент в Delphi !?


3-1081164849
GIL
2004-04-05 15:34
2004.05.02
Локальная БД, запускающаяся с CD




   Наверх