Wpis z mikrobloga

#programowanie #linux #bash #devop
Jak sobie radzicie z sekundą przystępną podczas liczenia epochów :? czy dodawać ją do epochu czy pozwolić bibliotece na wydłużenie minuty raz na jakiś czas do 61 sekund ( _)

sh
~ >>> TZ=/usr/share/zoneinfo/Europe/Warsaw date +"%Y:%j:%Hh%Mm%Ss" --date=@$((3600*24*(365*3-183)))|(IFS=: read -r y d t; echo $((y-1970))y$((d-1))d$t)
2y182d01h00m00s
~ >>> TZ=/usr/share/zoneinfo-leaps/Europe/Warsaw date +"%Y:%j:%Hh%Mm%Ss" --date=@$((3600*24*(365*3-183)))|(IFS=: read -r y d t; echo $((y-1970))y$((d-1))d$t)
2y182d00h59m60s
  • 7
Co dokładnie masz na wejściu i co na wyjściu? Jeżeli na wyjściu jest różnica dat to nigdy nie powinno tam się pojawić 60s. We względnej dacie 60 sekund to zawsze jedna minuta.
via Wykop Mobilny (Android)
  • 0
@Hauleth: @dupaztrupa: używam do obliczania interwałów. Używając libek są różnice, w zależności jaki jeste ustawiony timezone, czy bez sekundy przystępnej czy z.

To trochę tak jakby zamieniać liczbę dnia na lata zawsze dzieląc przez 365.. ¯\_(ツ)_/¯

Na razie mam dodany test który dla każdego skryptu wymusza timezone bez sekundy przystępnej.
@Hauleth Więc co sugerujesz, brać czas z gps'u - zgoda, nie jest monotoniczny, ale zmiany odbywają się w sposób ciągły, przez adjtime(3) a w przypadku sekundy przystępnej może mi podczas obliczeń nagle wyjść np. '0' zamiast '1s' ...