Форум: "Основная";
Поиск по всему сайту: 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.021 c
1-8843            saviola               2002-01-17 15:40  2002.02.04  
Как получить из DateTimePicker.Date целое значение без дроби


7-9017            TheNobody             2001-10-06 04:24  2002.02.04  
(работа со звуком) Существует ли технология...


3-8760            weak                  2002-01-04 12:48  2002.02.04  
Dataset not in edit or insert mode


3-8799            otari                 2002-01-06 23:15  2002.02.04  
никто не знает INTERBASE?


14-8983           Olgerd                2001-12-08 18:07  2002.02.04  
Иконы