Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];

Вниз

алгоритм преобразования 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.012 c
1-1116594321
Erik1
2005-05-20 17:05
2005.06.06
Как учесть выравнивание в записи при переносе даных?


4-1113889016
Ola
2005-04-19 09:36
2005.06.06
Как программно перезапустить винду?


1-1116529193
syte_ser78
2005-05-19 22:59
2005.06.06
форма нестандартной формы.


1-1116509769
Object
2005-05-19 17:36
2005.06.06
Как найти запись в XML без аттрибутов?


3-1114521903
RodmanDes
2005-04-26 17:25
2005.06.06
ADO





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский