<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.23588">
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2 face=Arial>Jak je stanoven ten časový rozdíl mezi rokem 1970 a
2009? Není to chyba v důsledku přestupných sekund? Přiznávám, teď netuším,
kolik jich už bylo...</FONT></DIV>
<DIV><FONT size=2 face=Arial>Martin. <A
href="mailto:persich@transcon.cz">persich@transcon.cz</A></FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<BLOCKQUOTE
style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
<DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV
style="FONT: 10pt arial; BACKGROUND: #e4e4e4; font-color: black"><B>From:</B>
<A title=Cizek.Milan@seznam.cz href="mailto:Cizek.Milan@seznam.cz">Cizek
Milan</A> </DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A title=hw-list@list.hw.cz
href="mailto:hw-list@list.hw.cz">hw-list@list.hw.cz</A> </DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Wednesday, April 12, 2017 3:03
PM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> Převod časů unixtimestamp a
picoC</DIV>
<DIV><BR></DIV>
<DIV>Ahoj, řeším takový problém, který mi moc nedává smysl.</DIV>
<DIV>Mám zařízení s aplikací - ve které mohu využít subprográmky v PicoC. Pak
mám nějaký server v PHP, kterým do daného zařízení posílám příkazy pomocí HTTP
(autorizace je). Způsob komunikace nemohu ovlivnit.</DIV>
<DIV><BR></DIV>
<DIV>VPHP pracuji se standardním unixtimestamp formátem. PicoC má jen nějaký
jiný čas, funkce getcurrenttime() vrací počet sekund v UTC, ale od
1.1.2009.</DIV>
<DIV><BR></DIV>
<DIV>PHP využívá unixtime, tj. počet sekund od 1.1.1970. Unixtime používám
úmyslně kuli snadnějšímu porovnávání a časování akcí.</DIV>
<DIV><BR></DIV>
<DIV>Abych byl kompatibilní a mohl porovnávat, tak jsem si vypočítal počet
sekund mezi 1.1.1970 a 31.12.2008 a přičítám jej k té funkci getcurrenttime,
která vrací počet sekund od 1.1.2009.</DIV>
<DIV><BR></DIV>
<DIV>Obě strany mají čas synchronizován pomocí NTP.</DIV>
<DIV><BR></DIV>
<DIV>define ADJUSTMENT_SECONDS 1230767999<BR></DIV>
<DIV>unix_timestamp = getcurrenttime() + ADJUSTMENT_SECONDS;</DIV>
<DIV><BR></DIV>
<DIV>Nicméně takto se mi čas v zařízení stále jeví cca o 100s vyšší. Nevím
přesně jestli zrovna 100, tiká mi to pod rukama (+-2s). Nějaký nápad, kde
dělám chybu?</DIV>
<DIV><BR>Milan<BR></DIV>
<P>
<HR>
<P></P>_______________________________________________<BR>HW-list mailing
list - sponsored by
www.HW.cz<BR>Hw-list@list.hw.cz<BR>http://list.hw.cz/mailman/listinfo/hw-list<BR></BLOCKQUOTE></BODY></HTML>