Re: Převod časů unixtimestamp a picoC

Martin Persich persich na transcon.cz
Středa Duben 12 15:12:08 CEST 2017


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...
Martin. persich na transcon.cz


  ----- Original Message ----- 
  From: Cizek Milan 
  To: hw-list na list.hw.cz 
  Sent: Wednesday, April 12, 2017 3:03 PM
  Subject: Převod časů unixtimestamp a picoC


  Ahoj, řeším takový problém, který mi moc nedává smysl.
  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.


  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.


  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í.


  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.


  Obě strany mají čas synchronizován pomocí NTP.


  define ADJUSTMENT_SECONDS 1230767999

  unix_timestamp = getcurrenttime() + ADJUSTMENT_SECONDS;


  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?

  Milan



------------------------------------------------------------------------------


  _______________________________________________
  HW-list mailing list  -  sponsored by www.HW.cz
  Hw-list na list.hw.cz
  http://list.hw.cz/mailman/listinfo/hw-list
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20170412/d656153a/attachment.html>


Další informace o konferenci Hw-list