![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
алгоритм преобразования TDateTime в String [D6, D7, WinXP]
INCOGNITO © (2005-05-23 23:19:00)Задача вообщем такая:
нужно реализовать алгоритм преобразования TDateTime в String в формате HH:MM:SS.
Не могу найти подробную инфу по TDateTime. На сколько я знаю, целая часть - это количество дней с какого-то опред. момента, а дробная - количество (чего? секунд, миллисекунд? или чего) с полуночи.
Пытался анализировать дробную часть... CurrToStr в 00:00:00 (полночь) часов возвращает 0,0001 в 23:59:50 около 0,9999.
Хотя в сутках 86400 секунд... Поэтому не пойму как задаётся нужная точность....
Короче, нужно получит из дробной части целую, это раз.
И разрулить с дробной частью.. Что она из себя представляет.
nikkie (2005-05-24 01:43:00) [1]как хорошо, когда все хорошо кончается. а то я уж думал, что будет как вчера (точно такой же вопрос и точно такой ;t первый ответ):
http://delphi.vline.ru/cgi-bin/forum.pl?id=1115493894&n=0
ЗЫ "как вчера" - это из анекдота, а не ссылка на временной интервал :)
Германн (2005-05-24 01:30:00) [2]2 Alx2 © (24.05.05 00:39) [14]
>>Anatoly Podgoretsky © (24.05.05 00:31) [13]
>Однако, хитроумные у вас подсказки :)
Они не столько "хитроумные" (хотя и это в них есть), сколько "подталкивающие" к нахождению решения самому! Что в последнее время стараются реализовать большинство Мастеров на сем форуме. И в этом он и они абсолютно правы!
А истинно "хитроумные" они тогда, когда палец АП промахивается и попадает на не ту клавишу! :)
INCOGNITO (2005-05-24 01:19:00) [3]всё уже решил ) спасиб
Alx2 (2005-05-24 00:39:00) [4]>Anatoly Podgoretsky © (24.05.05 00:31) [13]
Однако, хитроумные у вас подсказки :)
Anatoly Podgoretsky (2005-05-24 00:31:00) [5]Правильно, тебе же не код нужен, а знания, иначе для чего ты учишься. Вот только подсказка:
В сутках 86400 секунд, 1440 минут и 24 часа. Этого достаточно для решения.
INCOGNITO (2005-05-24 00:05:00) [6]ясна... Всем спасиба.
Осталось догнать как из этого сделать красивое HH:MM:SS ) Но это я сам постараюсь )
Anatoly Podgoretsky (2005-05-23 23:58:00) [7]Это значит, что будет 1/24
palva (2005-05-23 23:54:00) [8]> 0,416666(6), так?
не так, 0,0416666(6)
INCOGNITO (2005-05-23 23:51:00) [9]да всё дело вы том, что препод требует изобрести велосипед заново, и чтоб не подсматривать в DateTimeToString ((
Т.е. К примеру, если на часах час ночи,
то в дробной части будет: 3600000/8640000 = 0,416666(6), так?
palva (2005-05-23 23:50:00) [10]> всё что мне нужно - понять что из себя представляет дробная часть
Дробная часть - это доля суток. Например, 0.5 - 12 часов, 0.75 - 18 часов, 0.9 - 21 час 36 мин.
Anatoly Podgoretsky (2005-05-23 23:46:00) [11]Хватит и TimeToStr
sniknik (2005-05-23 23:32:00) [12]точного значения нет, всетаки число с плавающей запятой...
а анализировать... подключи модуль DateUtils напиши любую функцию например HourOfTheDay нажми на ней Ctrl+клик мышой, и попадеш в ее код и так дальше кликай дойдеш до разбора.../расчета, оттуда будет сразу видно "Что она из себя представляет."
INCOGNITO (2005-05-23 23:32:00) [13]В этой функции я уже копался... Огромная слишком.
(
Да и разрывать чужой код - не самое приятное.
всё что мне нужно - понять что из себя представляет дробная часть
Юрий Зотов (2005-05-23 23:31:00) [14]А дробная - это дробь и есть: количество миллисекунд, прошедших с полуночи, деленное на количество миллисекунд в сутках.
А реализовывать ничего не надо, все уже реализовано - см. FormatDateTime.
Yanis (2005-05-23 23:28:00) [15]
> FormatDateTime+F1
Ну да.
Yanis (2005-05-23 23:27:00) [16]DateToStr()
Johnmen (2005-05-23 23:26:00) [17]FormatDateTime+F1