table of contents
ZIC(8) | System Manager's Manual | ZIC(8) |
NOME¶
zic - compilador de fusos horáriosSINOPSE¶
zic [ -v ] [ -d diretório ] [ -l hora local ] [ -p regras posix ] [ -L nome do arquivo pula segundo ] [ -s ] [ -y comando ] [ nome do arquivo ... ]DESCRIÇÃO¶
Zic lê o texto oriundo do(s) arquivo(s) nomeado na linha de comando e cria um arquivo especificado com informações de conversão de tempo nesta entrada. Se um nome de arquivo é -, a entrada padrão é lida.Estas opções estão disponíveis:
- -d diretório
- Cria o arquivo de conversão de tempo no diretório nomeado ao invés do diretório padrão nomeado abaixo.
- -l fuso horário
- Usa o fuso horário fornecido como hora local. Zic irá
atuar como se a entrada contivesse uma linha de ligação na
forma
Ligação fuso horário hora local
- -p fuso horário
- Usa a regra de fusos horários fornecida quando está tratando
com as variáveis de ambiente de fusos horários no formato
POSIX. Zic irá atuar como se a entrada contivesse uma linha
de ligação na forma
Ligação fuso horário regras posix
- -L nome do arquivo pula segundo
- Lê informação para pular o segundo com o nome do arquivo fornecido. Se esta opção não é usada, nenhuma informação para pular segundo aparecerá no arquivo de saída.
- -v
- Reclama se um ano que apareçe no arquivo de dados está fora do intervalo de anos representáveis pelos valores de time(2)
- -s
- Limita os valores de tempo armazenados nos arquivos de saída a valores que são os mesmos se são tomados com sinal ou sem sinal. Você pode usar esta opção para gerar arquivos compatíveis com SVVS.
- -y comando
- Use o comando fornecido ao invés de yearistype quando estiver verificando os tipos de ano (veja abaixo).
As linhas de entrada são feitas de campos. Campos são separados entre si por um número qualquer de caracteres espaço. O espaço inicial e seguintes na linha de entrada serão ignorados. Um caractere sem aspas (#) na entrada introduz um comentário que se estende até o fim da linha onde caractere (#) aparece novamente. Caracteres espaços e (#) podem ser contidos por aspas duplas (") se eles são usados com uma parte do campo. Qualquer linha que é vazia (depois de tirar seu comentário) é ignorada. Linhas que não são vazias devem ser de um dos três tipos: linha de regra, linha de fuso, e linha de ligação.
Uma linha de regra tem a forma
Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Por exemplo: Rule US 1967 1973 - Apr lastSun 2:00 1:00 DOs campos que constituem uma linha de regra são:
- NAME
- Forneçe o nome (arbitrário) do conjunto de regras do qual esta faz parte.
- FROM
- Fornece o primeiro ano no qual a regra é aplicada. Qualquer ano na forma inteira pode ser fornecido; o calendário Gregoriano é assumido. A palavra minimum (ou uma abreviação) significa o menor ano representável como um inteiro. A palavra maximum (ou uma abreviação) significa o maior ano representável como um inteiro. Regras podem descrever tempos que não são representáveis como valores de tempo, com tempos não representáveis ignorados; isto permite que regras possam ser portáveis entre computadores com diferentes tipos de valores de tempo.
- TO
- Forneçe o ano final no qual a regra é aplicada. Além disso minimum e maximum (como acima), a palavra only (ou uma abreviação) pode ser usada para repetir o valor do campo FROM.
- TYPE
- Forneçe o tipo de ano no qual a regra é aplicada. Se
TYPE é - então a regra é aplicada em
todos os anos entre FROM e TO inclusive. Se TYPE for
outra coisa, então zic executa o comando yearistype
year type
para verificar o tipo de um ano: um status de saída zero significa que o ano é do tipo fornecido; um status de saída um significa que o ano não é do tipo fornecido. - IN
- Nome dos meses nos quais a regra tem efeito. Os nomes dos meses podem ser abreviados.
- ON
- Forneçe o dia em que as regras tem efeito. Formas reconhecidas
incluem:
5 o quinto dia do mês lastSun o último Domingo do mês lastMon a última Segunda do mês Sun>=8 o primeiro Domingo no oitavo dia ou depois Sun<=25 o último Domingo no dia 25 ou antes
Nomes de dias da semana podem ser abreviados ou soletrados por inteiro. Note que não deve ter espaços dentro do campo ON
- AT
- Forneçe a hora do dia na qual a regra tem efeito. Formas
reconhecidas incluem:
2 tempo em horas 2:00 tempo em horas e minutos 15:00 tempo no formato de 24 houras 1:28:14 tempo em horas, minutos, e segundos
aonde a hora 0 é meia-noite e inicia o dia, e a hora 24 é meia-noite e encerra o dia. Qualquer uma dessas formas pode ser seguida pela letra w se o tempo fornecido é o tempo local "wall clock",
s se o tempo fornecido é o tempo local "standard" , ou u (ou g ou z) se o tempo fornecido é o tempo "universal"; na ausência de um indicador, o tempo "wall clock" é assumido.
- SAVE
- Fornece a quantia de tempo a ser adicionada no tempo local padrão quando a regra está em efeito. Este campo tem formato igual ao campo AT (ainda que, claro, os sufixos w e s não são usados).
- LETTER/S
- Fornece a "parte variável" (Por exemplo, os "S" ou "D" em "EST" ou "EDT") das abreviações dos fusos horários para serem usadas quando a regra está em efeito. Se este campo é -, a parte variável é nula.
Uma linha de fuso tem a forma
Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL] Por exemplo: Zone Australia/Adelaide 9:30 Aus CST 1971 Oct 31 2:00Os campos que constituem uma linha de fuso são:
- NAME
- O nome do fuso horário. Este é o nome usado na criação do arquivo de informação de conversão de tempo para o fuso.
- GMTOFF
- A quantia de tempo adionada ao UTC para fornecer o tempo padrão neste fuso. O campo tem o mesmo formato que os campos AT e SAVE da linha de regra; inicie o campo com um sinal de menos se o tempo deve ser subtraido do UTC.
- RULES/SAVE
- O nome da regra(s) que aplicada no fuso horário ou, alternativamente, uma quantia de tempo para adicionar no tempo local padrão. Se este campo é - então o tempo padrão sempre aplica no fuso horário.
- FORMAT
- O formato para a abreviação do fuso horário neste fuso horário. O par de caracteres %s é usado para exibir onde a "parte variável" da abreviação do fuso horário vai. Alternativamente, a barra (/) separa abreviações padrão e de luz do dia.
- UNTIL
- O tempo no qual o offset UTC ou as alterações de regra(s) para uma localidade. Ele é especificado como um ano, um mês, um dia, e uma hora do dia. Se ele é especificado, a informação do fuso horário é gerada a partir do offset UTC fornecido e a regra muda até o tempo especificado. O mês, dia e a hora do dia tem que ter o formato como nas colunas IN, ON, e AT de uma regra; colunas seguintes podem ser omitidas, e padronizads para o valor mais próximo possível das colunas faltantes.
- A próxima linha deve ser uma linha de "continuação" ; esta possui a mesma forma que a linha de fuso exceto que a cadeia "Zone" e o nome são omitidos, tanto a linha de continuação situará o início da informação no tempo especificado como o campo UNTIL na linha anterior no arquivo usado pela linha anterior. Linhas de continuação podem conter um campo UNTIL , apenas como linhas de fuso fazem, indicando que a próxima linha é também uma continuação.
Uma linha de ligação tem a forma
Link LINK-FROM LINK-TO Por exemplo: Link Europe/Istanbul Asia/IstanbulO campo LINK-FROM deveria aparecer como o campo NAME em alguma linha de fuso; e o campo LINK-TO é usado como um nome alternativo para aquele fuso.
Exceto para linhas de continuação, linhas podem aparecer em qualquer ordem na entrada.
Linhas no arquivo que descreve salto de segundos tem a seguinte formato:
Leap YEAR MONTH DAY HH:MM:SS CORR R/S Por exemplo: Leap 1974 Dec 31 23:59:60 + SOs campos ANO, MÊS, DIA, e HH:MM:SS contam quando o salto do segundo ocorre. O campo CORR deveria ter "+" se um segundo fosse adicionado ou "-" se um segundo fosse retirado. O campo R/S deveria ter (uma abreviação de) "Stationary" se o tempo do salto de segundo fornecido por outros campos deveria ser interpretado como UTC ou (uma abreviação de) "Rolling" se o tempo do salto de segundo fornecido por outros campos deveria ser interpretado como um tempo local "wall clock".