konwersja Daty/czasu z formatu UNIX...

0

Słuchajcie mam taki oto problem:
Znacie pewnie różnego rodzajiu systemy newsowe...one zapisują datę każdego nowego newsa do pliku. Jak ktoś chce zmienić w tym pliku datę to okazuje się, że ma ona następującą postać: 1089839816 a tak naprawdę jest to odpowiednik daty: 2004-07-14 21:16:56.

I tutaj moje pytanie: Jak konwertować pomiędzy tymi dwoma formatami daty/czasu.
Wiem że ten pierwszy system do czas UNIX TIME.
Szukałem ale nic nie znalazłem na ten temat :(

Przydało by się, żeby ktoś jakiś kodzik puścił.
Z góry dzięki. [cya]

0

ja zrobiłem to o co pytasz, tak dla własnych potrzeb :)

procedure TForm1.Button1Click(Sender: TObject);
var data, godzina:TDateTime;
czas, godziny, minuty, sekundy:integer;
dzielnik:real;
begin

data:=encodedate(1970,1,1);   //Czas UNIXOWY liczy sie od 1 stycznia 1970
godzina:=encodetime(0,0,0,0); //od polnocy

 czas:=1089839816;    //tutaj czas UNIXOWY
  dzielnik:=czas/86400;      //dziele tutaj przez dobę
   data:=data+Floor(dzielnik);     //dodaje ilosc dni do daty

czas:=czas-(Floor(dzielnik)*86400); //odejmuje od czasu sekundy, ktore tworza cale dni
 godziny:=Floor(czas/3600);        //tutaj reszte dziele na godziny
  czas:=czas-(Floor(czas/3600)*3600);
   minuty:=Floor(czas/60);               //minuty
    sekundy:=czas-(Floor(czas/60)*60);          //sekundy

godzina:=godzina+encodetime(godziny,minuty,sekundy,0);  //dodaje godziny

edit1.Text:=datetostr(data);        //data
edit2.text:=timetostr(godzina);       //godzina


end;

ps. w sekcji uses wpisz math;

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.