powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Вычитание даты-времени и сравнение с миллисекундами
20 сообщений из 20, страница 1 из 1
Вычитание даты-времени и сравнение с миллисекундами
    #40061147
verter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеем 2-е переменные, содержащие в себе дату-время и переменную для хранения разности этих времён.

Код: pascal
1.
2.
3.
4.
5.
t1 : TDateTime;
t2: TDateTime
delta: Double;

delta := t2 - t1;


Какие единицы после вычитания будут храниться в delta?

Там будет некое вещественное число, но что оно означает?

Мне нужно из него получить миллисекунды, как это можно сделать?

Заранее благодарен знатокам за ответ!
...
Рейтинг: 0 / 0
Вычитание даты-времени и сравнение с миллисекундами
    #40061148
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
function MilliSecondsBetween(const ANow, AThen: TDateTime): Int64;
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вычитание даты-времени и сравнение с миллисекундами
    #40061151
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
verter
Там будет некое вещественное число, но что оно означает?
Разницу в днях между двумя датами.
verter
Мне нужно из него получить миллисекунды, как это можно сделать?
Умножить на количество миллисекунд в дне (константа MSecsPerDay) и округлить до целого
...
Рейтинг: 0 / 0
Вычитание даты-времени и сравнение с миллисекундами
    #40061152
verter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий

function MilliSecondsBetween(const ANow, AThen: TDateTime): Int64;


Спасибо за ответ. Но у меня проект в очень старом Delphi 5. Там нет ещё такой функции.
...
Рейтинг: 0 / 0
Вычитание даты-времени и сравнение с миллисекундами
    #40061153
verter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
verter
Там будет некое вещественное число, но что оно означает?
Разницу в днях между двумя датами.
verter
Мне нужно из него получить миллисекунды, как это можно сделать?
Умножить на количество миллисекунд в дне (константа MSecsPerDay) и округлить до целого


Большое спасибо! Мдааа, можно было и самому догадаться :)
...
Рейтинг: 0 / 0
Вычитание даты-времени и сравнение с миллисекундами
    #40061155
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
только не округлить, а обрезать
...
Рейтинг: 0 / 0
Вычитание даты-времени и сравнение с миллисекундами
    #40061157
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
только не округлить, а обрезать
Зависит от задачи. Я сам всегда округляю
...
Рейтинг: 0 / 0
Вычитание даты-времени и сравнение с миллисекундами
    #40061159
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
Зависит от задачи . Я сам всегда округляю

Взаимоисключающие параграфы.
...
Рейтинг: 0 / 0
Вычитание даты-времени и сравнение с миллисекундами
    #40061163
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
Взаимоисключающие параграфы.
Это я о том, что мне задачи где нужно было делать Trunc не попадались
...
Рейтинг: 0 / 0
Вычитание даты-времени и сравнение с миллисекундами
    #40061165
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

Странно.

Ну с миллисекнудами, ладно - хрен с ними. Они не часто кому сильно важны, А что насчет округления, например, часов или суток?
...
Рейтинг: 0 / 0
Вычитание даты-времени и сравнение с миллисекундами
    #40061171
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
А что насчет округления, например, часов или суток?
Самые крупные единицы, с которыми я работал были секунды
...
Рейтинг: 0 / 0
Вычитание даты-времени и сравнение с миллисекундами
    #40061198
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
Зависит от задачи. Я сам всегда округляю

Главное, чем округлять. Дефолтное округление в делфи может принести некоторым сюрпризы.
...
Рейтинг: 0 / 0
Вычитание даты-времени и сравнение с миллисекундами
    #40061229
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JayDi
Дефолтное округление в делфи может принести некоторым сюрпризы.
Пока ты не работаешь с финансами - это не так важно
...
Рейтинг: 0 / 0
Вычитание даты-времени и сравнение с миллисекундами
    #40061234
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
function MilliSecondsBetween(const ANow, AThen: TDateTime): Int64;
Тогда уже нужно дополнительно вернуть ее в нормальный вид, чтобы для ANow<AThen результат был отрицательный.
...
Рейтинг: 0 / 0
Вычитание даты-времени и сравнение с миллисекундами
    #40061265
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нафиг надо этот MilliSecondsBetween (да и все остальное подобное) использовать.
Мало ли что где потом поменяют.

TDateTime = обычный double, где единица = 1 день.
Вся математика крайне примитивна.
...
Рейтинг: 0 / 0
Вычитание даты-времени и сравнение с миллисекундами
    #40061270
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
Мало ли что где потом поменяют.

Хм ??
...
Рейтинг: 0 / 0
Вычитание даты-времени и сравнение с миллисекундами
    #40061291
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Софт для Марса придется писать, а там времяисчисление другое))
...
Рейтинг: 0 / 0
Вычитание даты-времени и сравнение с миллисекундами
    #40061610
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rgreat
Нафиг надо этот MilliSecondsBetween (да и все остальное подобное) использовать.
Мало ли что где потом поменяют.

TDateTime = обычный double, где единица = 1 день.
Вся математика крайне примитивна.

Вот это точно взаимоисколючающие параграфы. Вместо нормальных абстракций хреначить impl-specific код - так себе затея. Я думал, такие горе-умельцы уже давно получили линейкой по рукам, еще когда оказалось, что string[0] не хранит длину, и много позже, когда оказалось, что sizeof(char) <> 1 байт. Но нет, упорные грабленаступатели еще существуют
...
Рейтинг: 0 / 0
Вычитание даты-времени и сравнение с миллисекундами
    #40061644
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
09.04.2021 22:23, Соколинский Борис пишет:
> Тогда уже нужно дополнительно вернуть ее в нормальный вид, чтобы для ANow<AThen результат был отрицательный.

хренушки.
у них там так:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
function SpanOfNowAndThen(const ANow, AThen: TDateTime): TDateTime;
begin
   if ANow < AThen then
     Result := AThen - ANow
   else
     Result := ANow - AThen;
end;



Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вычитание даты-времени и сравнение с миллисекундами
    #40061658
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
rgreat
Нафиг надо этот MilliSecondsBetween (да и все остальное подобное) использовать.
Мало ли что где потом поменяют.

TDateTime = обычный double, где единица = 1 день.
Вся математика крайне примитивна.

Вот это точно взаимоисколючающие параграфы. Вместо нормальных абстракций хреначить impl-specific код - так себе затея. Я думал, такие горе-умельцы уже давно получили линейкой по рукам, еще когда оказалось, что string[0] не хранит длину, и много позже, когда оказалось, что sizeof(char) <> 1 байт. Но нет, упорные грабленаступатели еще существуют
Да да. Давай и для integer делать c:=substract(a,b) вместо a-b.

Вдруг там тоже impl-specific...
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Вычитание даты-времени и сравнение с миллисекундами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]