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

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

Работа с TDateTime


ньюбик ©   (2004-12-05 18:38:00) 

Здравствуйте.
Возник маленький вопросик по работе с датой и временем в Delphi. А именно....
Как определить какая была дата и время, скажем 100000 секунд назад?

Как работать с днями - я разобрался. 132 дня назад было: datetostr(date-132). Проверял, работает. А вот как узнать какое было число-время N минут назад не знаю.

Собственно постановка задачи следующая:
известно кол-во минут. Получить 2 строки. В одной из них в формате MMSS время, в другой в формате DDMMYYYY - дата. Причем ровно заданное кол-во минут назад. Буду весьма признателен за любую помощь.


Konrads   (2004-12-06 12:04:00) [1]

DateSeparator - разделитель даты, дельфей под руками нет, немогу посмотреть разделитель времени, наверно TimeSeparator


novice__man   (2004-12-05 19:38:00) [2]

Функция StrToDateTime ( const S: string ): TDateTime;

Функция преобразовывает строковое представление даты и времени в значение типа TDateTime. Исходная строка S должна иметь формат MM/DD/YY HH:MM:SS (ММ/ДД/ГГ ЧЧ:ММ:СС). Порядок следования дня, месяца и года в строке определяется значением глобальной переменной ShortDateFormat.


ньюбик   (2004-12-05 19:35:00) [3]

спасибо..  а как сделать универсально? Т.е. как узнать эти настройки из дельфи?


ньюбик   (2004-12-05 19:34:00) [4]

хм.. там точка была нужна


novice__man   (2004-12-05 19:33:00) [5]

А какой формат стоит в национальных настройках Windows?


ньюбик   (2004-12-05 19:29:00) [6]

Спасибо! уже почти всё сделал. Остался маленький вопросик:
Как мне из времени и даты (строки) слепить значение типа TDataTime?

Смотрю хелп, вижу:
"function StrToDateTime(const S: string): TDateTime;
The S parameter must be in the MM/DD/YY HH:MM:SS format. "
Делаю так: StrToDateTime('10/11/04 10:10:10') возникает ошибка, что '10/11/04 10:10:10' - неправильный формат... Почему?


TButton   (2004-12-05 18:48:00) [7]

есть функция *сейчас дельфи не установлен, поэтому не скажу точно какая* которая берет две даты в формате TDateTime, считает между ними разницу и возвращает в том же TDateTime формате. ищи в хелпе.


begin...end   (2004-12-05 18:45:00) [8]

> ньюбик   (05.12.04 18:38)

> Как работать с днями - я разобрался. 132 дня назад было:
> datetostr(date-132). Проверял, работает. А вот как узнать
> какое было число-время N минут назад не знаю.

В сутках 24 * 60 = 1440 минут, поэтому DateToStr(Now - N / 1440), где N - количество минут.


Наверх

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