Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.06;
Скачать: CL | DM;

Вниз

алгоритм преобразования TDateTime в String   Найти похожие ветки 

 
INCOGNITO   (2005-05-23 23:19) [0]

Задача вообщем такая:

нужно реализовать алгоритм преобразования TDateTime в String в формате HH:MM:SS.

Не могу найти подробную инфу по TDateTime. На сколько я знаю, целая часть - это количество дней с какого-то опред. момента, а дробная - количество (чего? секунд, миллисекунд? или чего) с полуночи.

Пытался анализировать дробную часть... CurrToStr в 00:00:00 (полночь) часов возвращает 0,0001 в 23:59:50 около 0,9999.

Хотя в сутках 86400 секунд... Поэтому не пойму как задаётся нужная точность....

Короче, нужно получит из дробной части целую, это раз.
И разрулить с дробной частью.. Что она из себя представляет.


 
Johnmen ©   (2005-05-23 23:26) [1]

FormatDateTime+F1


 
Yanis ©   (2005-05-23 23:27) [2]

DateToStr()


 
Yanis ©   (2005-05-23 23:28) [3]


> FormatDateTime+F1

Ну да.


 
Юрий Зотов ©   (2005-05-23 23:31) [4]

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

А реализовывать ничего не надо, все уже реализовано - см. FormatDateTime.


 
INCOGNITO   (2005-05-23 23:32) [5]

В этой функции я уже копался... Огромная слишком.
(
Да и разрывать чужой код - не самое приятное.

всё что мне нужно - понять что из себя представляет дробная часть


 
sniknik ©   (2005-05-23 23:32) [6]

точного значения нет, всетаки число с плавающей запятой...

а анализировать... подключи модуль DateUtils напиши любую функцию например HourOfTheDay нажми на ней Ctrl+клик мышой, и попадеш в ее код и так дальше кликай дойдеш до разбора.../расчета, оттуда будет сразу видно "Что она из себя представляет."


 
Anatoly Podgoretsky ©   (2005-05-23 23:46) [7]

Хватит и TimeToStr


 
palva ©   (2005-05-23 23:50) [8]

> всё что мне нужно - понять что из себя представляет дробная часть

Дробная часть - это доля суток. Например, 0.5 - 12 часов, 0.75 - 18 часов, 0.9 - 21 час 36 мин.


 
INCOGNITO   (2005-05-23 23:51) [9]

да всё дело вы том, что препод требует изобрести велосипед заново, и чтоб не подсматривать в DateTimeToString ((

Т.е. К примеру, если на часах час ночи,
то в дробной части будет: 3600000/8640000 = 0,416666(6), так?


 
palva ©   (2005-05-23 23:54) [10]

> 0,416666(6), так?
не так, 0,0416666(6)


 
Anatoly Podgoretsky ©   (2005-05-23 23:58) [11]

Это значит, что будет 1/24


 
INCOGNITO   (2005-05-24 00:05) [12]

ясна... Всем спасиба.
Осталось догнать как из этого сделать красивое HH:MM:SS ) Но это я сам постараюсь )


 
Anatoly Podgoretsky ©   (2005-05-24 00:31) [13]

Правильно, тебе же не код нужен, а знания, иначе для чего ты учишься. Вот только подсказка:
В сутках 86400 секунд, 1440 минут и 24 часа. Этого достаточно для решения.


 
Alx2 ©   (2005-05-24 00:39) [14]

>Anatoly Podgoretsky ©   (24.05.05 00:31) [13]
Однако, хитроумные у вас подсказки :)


 
INCOGNITO   (2005-05-24 01:19) [15]

всё уже решил ) спасиб


 
Германн ©   (2005-05-24 01:30) [16]

2 Alx2 ©   (24.05.05 00:39) [14]
>>Anatoly Podgoretsky ©   (24.05.05 00:31) [13]
>Однако, хитроумные у вас подсказки :)

Они не столько "хитроумные" (хотя и это в них есть), сколько "подталкивающие" к нахождению решения самому! Что в последнее время стараются реализовать большинство Мастеров на сем форуме.  И в этом он и они абсолютно правы!

А истинно "хитроумные" они тогда, когда палец АП промахивается и попадает на не ту клавишу! :)


 
nikkie ©   (2005-05-24 01:43) [17]

как хорошо, когда все хорошо кончается. а то я уж думал, что будет как вчера (точно такой же вопрос и точно такой ;t первый ответ):
http://delphi.vline.ru/cgi-bin/forum.pl?id=1115493894&n=0

ЗЫ "как вчера" - это из анекдота, а не ссылка на временной интервал :)



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

Текущий архив: 2005.06.06;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.041 c
1-1116615022
Volume
2005-05-20 22:50
2005.06.06
Name


3-1114808368
Алексей
2005-04-30 00:59
2005.06.06
Вывод данных из MySQL в TDBGrid


14-1116519847
Plex
2005-05-19 20:24
2005.06.06
футбоол


5-1086685262
ancara
2004-06-08 13:01
2005.06.06
Вставка компонента из буфера


14-1116687408
syte_ser78
2005-05-21 18:56
2005.06.06
Оцените программу