Existe um trabalho em andamento para dar suporte nativo ao Linux para o TAI. Até lá, você pode usar relógio de esquema para converter em TAI.
Meu sistema usa o UTC para o relógio do sistema, que eu particularmente não sinto vontade de mudar. Existe uma maneira fácil de obter o tempo atual do TAI? (preferencialmente uma ferramenta de linha de comando ou sinalizador)
Existe um trabalho em andamento para dar suporte nativo ao Linux para o TAI. Até lá, você pode usar relógio de esquema para converter em TAI.
A resposta com o fuso horário "certo /" está incorreta. Destina-se a converter de um relógio do sistema mantido em TAI - 10s para UTC. Assim, o seguinte dá a hora correta em UTC, GPS, LOREN e 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'
Os fusos horários certos podem estar em um local diferente, TZ="right / UTC", TZ="../ zoneinfo-leaps / UTC". Substitua "now" pela data / hora que você deseja transformar - a saída está correta para todas as datas após 1/1/1980.
Saída:
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] link
A resposta está obsoleta : consulte o link
Você pode usar o fuso horário "direito" para exibir uma aproximação (< 1s) do TAI.
Mas você precisa garantir que seu pacote de fuso horário esteja atualizado (por exemplo, tzdata no Ubuntu).
Código:
TZ='right/UTC' date
Exemplo:
$ date -u ; TZ='right/UTC' date
Mon Sep 16 13:36:21 UTC 2013
Mon Sep 16 13:35:56 UTC 2013
Motivo da depreciação: entre 2013 e hoje, o fuso horário "direito / UTC" corresponde ao TAI - 10 segundos e não ao TAI. Ou havia um bug.
É fácil de fazer: basta executar %código% uma vez ou adicioná-lo ao cron. Eu tenho que definir diariamente.