#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
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.
@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' ...
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
@BArtus: Używaj libek i się tym nie martw, nie będzie problemu
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.
adjtime(3)a w przypadku sekundy przystępnej może mi podczas obliczeń nagle wyjść np. '0' zamiast '1s' ...