리눅스에서 국제 원자 시간을 얻는 쉬운 방법? 시스템 시계에 UTC를 사용하는데, 특히

내 시스템은 시스템 시계에 UTC를 사용하는데, 특히 변경하고 싶지 않습니다. 현재 TAI 시간을 쉽게 얻을 수있는 방법이 있습니까? (권장 명령 줄 도구 또는 플래그)



답변

진행중인 작업 리눅스에게 TAI에 대한 네이티브 지원을 제공하기는. 그때까지는 scheme-clock 을 사용 하여 TAI로 변환 할 수 있습니다 .


답변

“오른쪽 /”시간대의 답변이 잘못되었습니다. TAI-10s로 유지되는 시스템 시계에서 UTC로 변환하기위한 것입니다. 따라서 다음은 UTC, GPS, LOREN 및 TAI [1]의 정확한 시간입니다.

#!/bin/sh
echo -n "UTC:   "; TZ='UTC' date
echo -n "GPS:   "; TZ='UTC' date --date='TZ="../leaps/UTC" now -9 seconds'
echo -n "LORAN: "; TZ='UTC' date --date='TZ="../leaps/UTC" now'
echo -n "TAI:   "; TZ='UTC' date --date='TZ="../leaps/UTC" now 10 seconds'

올바른 시간대는 TZ = “right / UTC”, TZ = “… / zoneinfo-leaps / UTC”와 같은 다른 위치에있을 수 있습니다. “현재”를 변환하려는 날짜 / 시간으로 바꾸십시오. 출력은 1980 년 1 월 1 일 이후의 모든 날짜에 대해 정확합니다.

산출:

UTC:   Sun Oct 30 16:28:30 UTC 2016
GPS:   Sun Oct 30 16:28:47 UTC 2016
LORAN: Sun Oct 30 16:28:56 UTC 2016
TAI:   Sun Oct 30 16:29:06 UTC 2016

[1] http://www.leapsecond.com/java/gpsclock.htm


답변

답변이 더 이상 사용되지 않습니다 : /server//a/812163/67419 참조

“오른쪽 /”시간대를 사용하여 TAI의 근사값 (<1s)을 표시 할 수 있습니다.

그러나 시간대 패키지가 최신인지 확인해야합니다 (예 : Ubuntu의 tzdata).

암호:

TZ='right/UTC' date

예:

$ date -u ; TZ='right/UTC' date
Mon Sep 16 13:36:21 UTC 2013
Mon Sep 16 13:35:56 UTC 2013

감가 상각 사유 : 2013 년부터 오늘까지의 시간대 “right / UTC”는 TAI가 아닌 TAI-10 초에 해당합니다. 또는 버그가있었습니다.


답변

/usr/sbin/ntpdate pool.ntp.org;/sbin/hwclock --systohc
한 번만 실행 하거나 cron에 추가하기 만하면
됩니다. 매일 설정했습니다.