Avatar billede elv Nybegynder
07. maj 2003 - 22:19 Der er 3 kommentarer

Millisekunder siden 1/1-1970

Hey Eksperter!!

Til kommunikation mellem en java server og en Delphi-klient skal jeg bruge et tidspunkt som skal være angivet i antallet af millisekunder det nu er siden 1/1-00:00:00 - 1970, da dette er Java's dejlige tidsmåler. Hvad er den smarteste måde at omsætte en dato i delphi til denne slags?
Avatar billede stoney Nybegynder
07. maj 2003 - 22:34 #1
Hvis du har D6 tilføj dateutils i uses

procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage(inttostr(MilliSecondsBetween(now,01-01-1970)));
end;

Stoney
Avatar billede elv Nybegynder
08. maj 2003 - 16:54 #2
Vi nærmer os, der var et par småfejl i koden, det rigtige var:
MilliSecondsBetween(Now, UnixDateDelta)
... som regner om til unix-tid eller
MilliSecondsBetween(Now, StrToDateTime('01-01-1970'))
... som giver samme resultat. IMIDLERTID giver dette et tal som er 7200000 msec = 7200 sec = 120 min = 2 timer galt i forhold til begge de følgende stykker javakode:
System.out.println("1:" + System.currentTimeMillis());
System.out.println("2:" + Calendar.getInstance().getTimeInMillis());
Hvorfor bliver tallene lige præcist 2 timer gale?
Avatar billede arne_v Ekspert
13. maj 2003 - 22:38 #3
Formentlig fordi den ene returnerer antal millisekunder siden 1-JAN-1970 00:00:00
lokal tid og den anden siden samme GMT tid.

Når Danmark er på sommertid så er vi på GMT+2.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester