** Human |
Отправлено: 31.03.2005, 21:29 |
|
Не зарегистрирован
|
надо из файла прочитать построчно записанное время и сравнивать строки на предмет разницы в часах. Существует ли прямая функция преобразования строки в формат time и какой формат должен быть у строки
а то время может идти в строке как 2:00 либо как 23:00 надо ли прибавлять в первом случае 0?
Спасибо за будущие советы |
|
Георгий |
Отправлено: 31.03.2005, 21:49 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874
|
объекты класса TDateTime умеют переводить время из внутренного представления в текстовую строку |
|
Rius |
Отправлено: 31.03.2005, 21:52 |
|
Мастер участка
Группа: Участник
Сообщений: 321
|
Преобразование из строки в TDateTime
date/time routines
QUOTE | StrToDate
Converts an AnsiString object to a TDateTime object.
StrToDateDef
Converts an AnsiString object to a TDateTime object, with error default.
StrToDateTime
Converts an AnsiString object to a TDateTime object.
StrToDateTimeDef
Converts an AnsiString object to a TDateTime object with error default.
StrToSQLTimeStamp
Converts a string to a TSQLTimeStamp value.
StrToTime
Converts an AnsiString object to a TDateTime object.
StrToTimeDef
Converts an AnsiString object to a TDateTime object with error default. |
з.ы
вот мне не везет-то! самому надо было, искал — не нашел.
Отредактировано Rius — 01/04/2005, 00:58
|
|
Gedeon |
Отправлено: 01.04.2005, 07:40 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
Для вычисления разницы между датами см.
QUOTE |
DaysBetween
HoursBetween
MilliSecondsBetween
MinutesBetween
SecondsBetween |
А вообще загляните в справку на раздел Date/time routines очень много интересного найдете.
|
|
** Harold |
Отправлено: 01.04.2005, 22:36 |
|
Не зарегистрирован
|
Все это, конечно, хорошо. Но функции эти "ведущие" нули убивают, и более 23:59:59 не показывают. Ну, почему нельзя 199:59:59 — человеку понятно, а функция не может. Или я чего-то не понял. В итоге написал сам врукопашную — все показывает, переводит и так, как мне нравится... |
|
Георгий |
Отправлено: 02.04.2005, 00:13 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874
|
QUOTE (** Harold @ 01/04/2005, 22:36) | Ну, почему нельзя 199:59:59 — человеку понятно, а функция не может. |
а как это? мне не понятно |
|
** Human |
Отправлено: 04.04.2005, 10:57 |
|
Не зарегистрирован
|
QUOTE (Gedeon @ 01/04/2005, 07:40) | Для вычисления разницы между датами см.
QUOTE |
DaysBetween
HoursBetween
MilliSecondsBetween
MinutesBetween
SecondsBetween |
А вообще загляните в справку на раздел Date/time routines очень много интересного найдете. |
Это начиная с какой версии билдера?
В моей старушке 4 этого нет |
|
Guest |
Отправлено: 04.04.2005, 11:13 |
|
Не зарегистрирован
|
А что написать — (минус) проблемма?
целая часть TDateTime — дни
дробная — время
Число секунд между двумя событиями = double(TDataTime2 — TDateTime1) * (24*60*60); (с вариациями). |
|
** Human |
Отправлено: 04.04.2005, 11:47 |
|
Не зарегистрирован
|
QUOTE (Guest @ 04/04/2005, 11:13) | А что написать — (минус) проблемма?
целая часть TDateTime — дни
дробная — время
Число секунд между двумя событиями = double(TDataTime2 — TDateTime1) * (24*60*60); (с вариациями). |
Да написать то я написал и задачу в итоге решил
Так, просто, хотел прояснить в каком билдере человеку приснились такие функции |
|
Guest |
Отправлено: 04.04.2005, 12:00 |
|
Не зарегистрирован
|
с 6 (У Gedeon 6) |
|
** Harold |
Отправлено: 04.04.2005, 22:01 |
|
Не зарегистрирован
|
CODE |
Ну, почему нельзя 199:59:59 — человеку понятно, а функция не может
|
Ну, может, и не совсем корректно, но есть, все же, человеко-часы, мото-часы, трудо-дни, наработка на отказ (часы) и т.д.
Встречеам необоснованные ограничения! Долой! |
|