собственно вопрос: как получить unix time stamp в миллесекундах? чтоб было как в javascript: Code: new Date().getTime(); пробовал так: Code: const // Sets UnixStartDate to TDateTime of 01/01/1970 UnixStartDate: TDateTime = 25569; function DateTimeToUnix(ConvDate: TDateTime): int64; begin //example: DateTimeToUnix(now); Result := Round((ConvDate - UnixStartDate) * 86400); end; .... showmessage(inttostr(DateTimeToUnix(date)*1000)); и в браузере: Code: javascript:alert(new Date().getTime()); но значения значительно различаются. как описать функцию полностью аналогичную date.gettime(); в js ? может начальное значение не то?
Code: const UnixDateDelta = 25569; { 1970-01-01T00:00:00,0 } SecPerMin = 60; SecPerHour = SecPerMin * 60; SecPerDay = SecPerHour * 24; MinDayFraction = 1 / (24 * 60); function UnixTimeToDateTime(AUnixTime: DWord; ABias: Integer): TDateTime; begin Result := UnixDateDelta + (AUnixTime div SecPerDay) { Days } + ((AUnixTime mod SecPerDay) / SecPerDay) { Seconds } - ABias * MinDayFraction { Bias to UTC in minutes }; end; {Convert Unix time to String with locale settings} function UnixTimeToStr(AUnixTime: DWord; ABias: Integer): string; begin Result := FormatDateTime('ddddd hh:nn:ss', UnixTimeToDateTime(AUnixTime, ABias)); end; {Convert TDateTime to Unix time} function DateTimeToUnixTime(ADateTime: TDateTime; ABias: Integer): DWord; begin Result := Trunc((ADateTime - UnixDateDelta) * SecPerDay) + ABias * SecPerMin; end; Где ABias - разница с Гринвичем в минутах