Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];




Вниз

Перевод юниксовского времени в нормальное виндовое 


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) и далее по приведенныи рекомендациям.




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.031 c
1-8925            Dmitriy_R             2002-01-15 10:49  2002.02.04  
Создание файла?


1-8884            Andrey                2002-01-16 18:18  2002.02.04  
TQRCompositeReport


14-8995           Tosov                 2001-12-16 00:24  2002.02.04  
Как правильно: реестр или регистри


1-8867            Andron                2002-01-15 22:29  2002.02.04  
Как отключить предупреждения компилятора типа ... specific to a platform?


1-8932            Станислав             2002-01-16 15:36  2002.02.04  
Большие числа