Почему DateTimeToMilliseconds в DateUtils.pas помечен как внутренний? Могу ли я использовать его?Почему DateTimeToMilliseconds в DateUtils.pas помечен как внутренний?
{ Internal, converts a date-time to milliseconds }
function DateTimeToMilliseconds(const ADateTime: TDateTime): Int64;
var
LTimeStamp: TTimeStamp;
begin
LTimeStamp := DateTimeToTimeStamp(ADateTime);
Result := LTimeStamp.Date;
Result := (Result * MSecsPerDay) + LTimeStamp.Time;
end;
[Delphi XE]
Я нашел это на About.com:
Опыт показывает, что создание двух значений TDateTime, используя функцию и EncodeDateTime, которые находятся на расстоянии друг от друга другой - только миллисекунда, функция возвращает миллисекунды между ними, а не возврат, как ожидалось, доказывая, что это неточно.
Так что, если мне не все равно несколько milisecs, я должен использовать его.
Какую версию Delphi вы используете? Блок DateUtils провел капитальный ремонт в XE, что сделало эти функции предельно точными до миллисекунды. –
У меня есть Delphi XE Professional – Ampere
Эта статья о статье относится к старой версии Delphi - я не мог видеть дату, но, вероятно, Delphi 7. Если вы будете следовать ссылкам в ней, вы в конечном итоге попадете в отчет о контроле качества, точный код, который вы цитируете как исправление! Впоследствии он был добавлен в Delphi, как указано ниже и мной ниже @NickHodges. –