Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26163
Рейтинг: 2127
#31: 2008-12-03 16:28:22 ЛС | профиль | цитата
Tad писал(а):
Заметь, что я давно выкладывал компонент Differ для вычисления разницы времени


А математика, у нас на последнем месте, обязательно компонентом надо забубенить

Tad писал(а):
и полтора (1.5) дня - это 1 день и 12 часов

А половина -- она и в Африке половина
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#32: 2008-12-03 16:33:49 ЛС | профиль | цитата
nesco писал(а):
А математика, у нас на последнем месте, обязательно компонентом надо забубенить

Так математику знать надо
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26163
Рейтинг: 2127
#33: 2008-12-03 16:35:01 ЛС | профиль | цитата
Tad писал(а):
В сутках 86400 сек умножаем на дробную часть DateTimeReal и получаем: целое - число секунд

Ну, ну, а ты попробуй умножь. Кстати, у меня в примере нет значения 86400
карма: 22

0
Ответов: 1305
Рейтинг: 29
#34: 2008-12-03 16:39:53 ЛС | профиль | цитата
tsdima писал(а):
Десятичной дробью выражать часть суток неудобно. Один час получится 1/24 = 0,041666666666666666666666666666667

Зачем далеко ходить?

#pas
var
t: TTime;
-----
t := StrToTime('1:00:00');
Выполнение этого кода дает t=0,0416666666666667
Т.о. 1 час равен 1/24 суток, т.е. значение после запятой есть доли суток. И при чем здесь вообще секунды-то? Так устроен формат TDateTime в Дельфях
------------ Дoбавленo:

Система справок по Дельфи писал(а):

Тип TDateTime представляет собой число с плавающей запятой, целая часть которого содержит число дней, отсчитанное от некоторого начала календаря, а дробная часть равна части 24-часового дня, т.е. характеризует время и не относится к дате. Для 32-разрядных версий Delphi за начало календаря принята дата 00 часов 30 декабря 1899 года. В Delphi 1 за начало отсчета принят год 1, т.е. для перевода даты Delphi 1 в дату последующих версий Delphi надо вычесть из даты число 693594.

Прибавление к значению типа TDateTime целого числа D равносильно увеличению даты на D дней. Разность двух значений типа TDateTime дает разность двух дат с точностью до долей дня.

карма: 0

0
Ответов: 16884
Рейтинг: 1239
#35: 2008-12-03 16:44:16 ЛС | профиль | цитата
Умножил: 86400*0,041666666666666666666666666666667=3600.0000000000012
А 3600 сек = 1час
Ну и что ?
v258, разница нужна была в секундах - потому и секунды.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8928
Рейтинг: 823
#36: 2008-12-03 16:45:41 ЛС | профиль | цитата
nesco, а Минздрав предупреждал: Не надо отвечать
Сейчас будем флудить:
nesco писал(а):
А половина -- она и в Африке половина

nesco, ответьте на вопрос: конвертор Дата-Real выдал значение 700000.5. Сколько времени прошло от Рождества Христова в формате Дни:Часы:Минуты:Секунды
карма: 19

1
Голосовали:nesco
Разработчик
Ответов: 26163
Рейтинг: 2127
#37: 2008-12-03 16:46:01 ЛС | профиль | цитата
v258 писал(а):
И при чем здесь вообще секунды-то?

Ну, бывают случаи, когда надо прибавить (отнять) секунды, а не дни, и мерить их в долях суток, как-то не совсем удобно

Оно-то так и получается, что 1 мсекунда равна 1,15(740)e-8 дня. Что я и посчитал за квант времени. Мы все говорим об одном и том же, но на разных языках
карма: 22

0
Ответов: 1305
Рейтинг: 29
#38: 2008-12-03 16:50:07 ЛС | профиль | цитата
Tad, ну а какие законы математики указывают на то, что результат должен быть другим? Я вообще вот это подтвердил
Tad писал(а):
после запятой - доли суток

А то некоторые засомневались
nesco писал(а):
Всегда секунда считалась единицей измерения времени, теперь у Tada уже сутки в единицах измерения появились. И чего это мы все меряем в мсек, пора уже переходить на микро сутки. Куды катится мир


------------ Дoбавленo:

nesco писал(а):
Мы все говорим об одном и том же, но на разных языках

Дык, здесь язык-то один - Дельфи, другие не рассматриваются (в этом топике, во всяком случае)
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#39: 2008-12-03 16:51:15 ЛС | профиль | цитата
v258 писал(а):
ну а какие законы математики указывают на то, что результат должен быть другим?

nesco писал(а):
Ну, ну, а ты попробуй умножь.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26163
Рейтинг: 2127
#40: 2008-12-03 16:53:16 ЛС | профиль | цитата
v258 писал(а):
здесь язык-то один - Дельфи

Программирования -- да, алгоритмический -- разный
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#41: 2008-12-03 16:53:16 ЛС | профиль | цитата
nesco писал(а):
мерить их в долях суток, как-то не совсем удобно
так принято. А считать с 0 ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1305
Рейтинг: 29
#42: 2008-12-03 16:59:19 ЛС | профиль | цитата
nesco писал(а):
алгоритмический -- разный

Алгоритмы здесь ни причем - это особенности формата и ничего личного

карма: 0

0
Разработчик
Ответов: 26163
Рейтинг: 2127
#43: 2008-12-03 17:05:03 ЛС | профиль | цитата
Леонид писал(а):
конвертор Дата-Real выдал значение 700000.5

Возьми компонент Differ от Tada и проверь, черт его знает я не помню формулу преобразования даты в количество дней
------------ Дoбавленo:

Во, какой мозговой штурм получился (ха, ха, ха, а я сам кое-чего интересного узнал, а то попробуй вас ленивых заставить мозгами шевелить или поделиться инфой)
карма: 22

0
Ответов: 3655
Рейтинг: 69
#44: 2008-12-03 17:05:23 ЛС | профиль | цитата
Я так и непонял зачем весь этот гемморой с квантами.
карма: 0

0
Ответов: 8928
Рейтинг: 823
#45: 2008-12-03 17:08:03 ЛС | профиль | цитата
nesco, вот и я про то же, программисты отличаются от простых смертных: ООП, свойства, наследники и т. д. у них уже давно в подсознании, а обычная арифметика заставляет напрягаться, а у простых смертных наоборот
Как тут не перефразировать поговорку почившего в бозе СССР ("Не каждый вор - радиолюбитель, но каждый радиолюбитель - вор!")
карма: 19

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)