ระบบของฉันใช้ UTC สำหรับนาฬิกาของระบบซึ่งฉันไม่รู้สึกอยากเปลี่ยน มีวิธีง่ายๆในการรับเวลา TAI ปัจจุบันหรือไม่? (โดยเฉพาะอย่างยิ่งเครื่องมือบรรทัดคำสั่งหรือแฟล็ก)
ระบบของฉันใช้ UTC สำหรับนาฬิกาของระบบซึ่งฉันไม่รู้สึกอยากเปลี่ยน มีวิธีง่ายๆในการรับเวลา TAI ปัจจุบันหรือไม่? (โดยเฉพาะอย่างยิ่งเครื่องมือบรรทัดคำสั่งหรือแฟล็ก)
คำตอบ:
มีความคืบหน้าในการให้การสนับสนุน Linux พื้นเมืองสำหรับ TAI ก่อนหน้านั้นคุณสามารถใช้รูปแบบนาฬิกาเพื่อแปลงเป็น TAI
คำตอบของเขตเวลา "right /" ไม่ถูกต้อง มันหมายถึงการแปลงจากนาฬิการะบบที่เก็บใน 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" แทนที่ "ตอนนี้" ด้วยวันที่ / เวลาที่คุณต้องการแปลง - ผลลัพธ์ถูกต้องสำหรับทุก ๆ วันหลังจาก 1/1/1980
เอาท์พุท:
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
TZ='right/UTC' date
กำลังพิมพ์
คำตอบเลิกใช้แล้ว : ดู/server//a/812163/67419
คุณสามารถใช้เขตเวลา "right /" เพื่อแสดงการประมาณ (<1s) ของ TAI
แต่คุณต้องตรวจสอบให้แน่ใจว่าแพ็คเกจเขตเวลาของคุณเป็นรุ่นล่าสุด (เช่น tzdata บน Ubuntu)
รหัส:
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 - 10 วินาทีไม่ใช่ TAI หรือมีข้อผิดพลาด
มันง่ายที่จะทำเพียงแค่เรียกใช้
/usr/sbin/ntpdate pool.ntp.org;/sbin/hwclock --systohc
หนึ่งครั้งหรือเพิ่มลงใน cron ฉันได้ตั้งไว้ทุกวัน
pool.ntp.org
แทนที่อยู่ IP คงที่เพื่อโหลดยอดดุลบริการที่ดีขึ้น