Вниз
Скачать: CL | DM;

Перевод юниксовского времени в нормальное виндовое   Найти похожие ветки 

 
f0rm   (2002-01-15 12:32) [0]

Как осуществить сабж, например 3c425e18 это 14/01/2002


 
troits ©   (2002-01-15 15:50) [1]

В юниксе время - число секунд с 1.1.1970
Вот вариант:

function UnixToWindows(UnixTime: LongInt): TDateTime;
begin
result := EncodeDate(1970, 1, 1);
result := result + UnixTime / (60 * 60 * 24);
end;


 
f0rm   (2002-01-15 16:34) [2]

Огромное спасибо! Но, когда я пихаю в функцию 3c425e18, то дельфи кричит об ошибке!


 
troits ©   (2002-01-15 16:43) [3]

program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils, Windows;

function UnixToWindows(UnixTime: LongInt): TDateTime;
begin
result := EncodeDate(1970, 1, 1);
result := result + UnixTime / (60 * 60 * 24);
end;

var
ToDate: TDateTime;
wYear, wMonth, wDay: word;
begin
ToDate := UnixToWindows($3c425e18);
DecodeDate(ToDate, wYear, wMonth, wDay);
writeln("Year = ", wYear);
writeln("Month = ", wMonth);
writeln("Day = ", wDay);
readln;
end.


 
f0rm   (2002-01-15 17:23) [4]

А если нужно передать дату из edit1.text ?


 
Anatoly Podgoretsky ©   (2002-01-15 17:59) [5]

Тогда UnixTime := StrToInt("$" + edit1.text) и далее по приведенныи рекомендациям.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
1-8878
Alexm
2002-01-16 12:52
2002.02.04
Свертывание окна


7-9019
gunner
2001-10-25 17:43
2002.02.04
Неизвестный модуль !


1-8916
Лана Розанова
2002-01-17 15:39
2002.02.04
Memo


14-8975
Вячеслав_
2001-10-10 05:13
2002.02.04
1C:Предприятие


1-8874
Antoniz
2002-01-16 10:00
2002.02.04
Работа с потоками




   Наверх