Como Converter um Selo de Data/Hora em um Formato

Propaganda
Como Converter um Selo de Data/Hora em um Formato Legível
Usando o Cisco WAN Manager
Índice
Introdução
Pré-requisitos
Requisitos
Componentes Utilizados
Convenções
Usando uma planilha
Utilizando consultas SQL
Usando um procedimento SQL
Usando uma chamada de sistema C
Verificar
Troubleshooting
Informações Relacionadas
Introdução
Em um sistema Unix, um timestamp é o número de segundos que decorreu desde o 1º de janeiro 1970, chamado a “época.” Quando uma
estatística está armazenada no banco de dados do Cisco WAN Manager (CWM), recebe o timestamp em que os dados foram recolhidos do
interruptor. Este timestamp às vezes tem que ser traduzido em mais formato legível. Este documento explica diversos métodos para converter o
timestamp em mais formato legível. Os exemplos usam a tabela do packet_ln_data.
Pré-requisitos
Requisitos
Não existem requisitos específicos para este documento.
Componentes Utilizados
As informações neste documento são baseadas nestas versões de software e hardware:
CWM 9.2.09 a CWM 12.0
Solaris 2.6 ao Solaris 8
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos
utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a sua rede estiver ativa, certifique-se de que entende o
impacto potencial de qualquer comando.
Convenções
Para obter mais informações sobre convenções de documento, consulte as Convenções de dicas técnicas Cisco.
Usando uma planilha
Se você usa uma planilha Microsoft Excel, você pode traduzir o timestamp com este método:
1. Põe o timestamp na pilha a1.
2. Na pilha a2, incorpore =a1/86400+25569.
3. Para aplicar um formato novo a esta pilha, clicar com o botão direito e escolha pilhas do formato > números > costume. No tipo campo,
incorpore o dd: mmm: HH yyyy: milímetro.
A saída se parece com isto:
04 Apr 2001, 13:57
Utilizando consultas SQL
Datilografe isto na alerta do shell (como o svplus do usuário):
ecoe “date(timestamp/86400 seleto +25568) || ““ || modificação (trunc (timestamp/3600), 24) || “: ” || modificação (trunc (timestamp/60), 60) || “:
” || modificação (timestamp, 60) do packet_ln_data” | stratacom dos dbaccess
Este método produz uma saída que olhe como esta:
(expression)
(expression)
(expression)
(expression)
(expression)
(expression)
(expression)
(expression)
(expression)
11/14/2001
11/14/2001
11/14/2001
11/14/2001
11/14/2001
11/14/2001
11/14/2001
11/14/2001
11/14/2001
16:5:0
16:5:0
16:5:0
16:5:0
16:5:0
16:5:0
16:10:0
16:10:0
16:10:0
Usando um procedimento SQL
Um outro procedimento é adicionar este procedimento ao banco de dados do stratacom:
1. Execute dbaccess.
2. No menu principal, vá ao idioma de consulta > novo e selecione o banco de dados Stratacom.
3. Cole o texto, a seguir selecione o escape.
4. Selecione a corrida.
Se o procedimento é bem sucedido, você vê o mensagem de sistema: Procedimento criado.
create procedure ts2date ( l int ) returning char(20);
define sec, min, hour int;
define ts char(10);
define brol char(30);
define chour, cmin, csec char(2);
let sec = MOD (l, 60);
let min = MOD (trunc (l/60), 60);
let hour = MOD (trunc (l/3600), 24);
if sec >= 10 then
let csec = sec;
else
let csec = '0' || sec;
end if
if min >= 10 then
let cmin = min;
else
let cmin = '0' || min;
end if
if hour >= 10 then
let chour = hour;
else
let chour = '0' || hour;
end if
let Ts = date(trunc((l/86400) + 25568 ));
let brol = Ts || ' ' || chour || ':' || cmin || ':' || csec;
return brol;
end procedure;
Use este procedimento ts2date em uma pergunta SQL para obter a saída correta. Como o usuário do svplus, datilografe na alerta do shell:
echo 'select ts2date(timestamp) from packet_ln_data' | dbaccess stratacom
A saída para esta pergunta olha como esta:
(expression)
11/14/2001
11/14/2001
11/14/2001
11/14/2001
11/14/2001
11/14/2001
11/14/2001
11/14/2001
11/14/2001
11/14/2001
11/14/2001
11/14/2001
11/14/2001
16:05:00
16:05:00
16:05:00
16:05:00
16:05:00
16:10:00
16:10:00
16:10:00
16:10:00
16:10:00
16:10:00
16:10:00
16:10:00
Nota: Você deve reintroduzir o procedimento no banco de dados cada vez que é deixado cair, após ter reinstalado o CWM, ou após um início
cold.
Usando uma chamada de sistema C
Se você precisa de converter o timestamp com programa ou função corrente alternada, há uma chamada de sistema que converta a notação epoch
em uma mais legível. A chamada de sistema é sabida como o “ctime,” e o parâmetro deve ser do tipo do “*clock do time_t const.” Por exemplo:
#include <stdio.h>
#include <time.h>
void main ()
{
time_t tstamp;
scanf("%ld", &tstamp);
printf ("%s\n", ctime (&tstamp));
}
Verificar
No momento, não há procedimento de verificação disponível para esta configuração.
Troubleshooting
Não há atualmente nenhuma informações disponíveis específica para pesquisar defeitos esta configuração.
Informações Relacionadas
Exemplos de Configuração e Notas Técnicas
© 1992-2014 Cisco Systems Inc. Todos os direitos reservados.
Data da Geração do PDF: 18 Outubro 2014
http://www.cisco.com/cisco/web/support/BR/104/1042/1042580_cwm_timestamp_9329.html
Download