Pergunta

Eu tenho uma consulta WMI que especifica o tempo neste formato '20090219000000.000000+480'

Alguém pode me dizer qual é o formato e o .NET tem alguma funcionalidade interna para trabalhar com ele?

EDITAR

Esse valor de tempo é de uma consulta de amostra que eu encontrei. Não sei que valor de tempo foi usado para gerá -lo. Eu só preciso ser capaz de converter um valor de tempo para este formato.

Editar 2

Eu descobri que desta vez está em CIM_DATETIME formato.

Foi útil?

Solução

Parece uma string de hora de data padrão sem separadores:

'20090219000000.000000+480'

'yyyymmddhhmms.ffffff+480'

AAA - O ano em quatro dígitos.
MM - O mês numérico. Meses de um dígito têm um zero líder.
DD - o dia do mês. Os dias de um dígito têm um zero líder.
HH - A hora em um relógio de 12 horas. Horas de um dígito têm um zero líder. (Isso também pode ser HH, que é a hora em um relógio de 24 horas com horas de dígito com um zero líder.)
MM - o minuto. Minutos de um dígito têm um zero líder.
FFFFFF - A fração de um segundo em precisão de seis dígitos.

O "+480" é provavelmente um indicador de fuso horário, embora não seja padrão. Normalmente, os fusos horários são representados como horas (ou horas e minutos) da UTC. Provavelmente parece ser apenas minutos. Como tal, não existe especificador de formato padrão.

A classe DateTime no .NET é o que você usaria para trabalhar com esse valor. No entanto, você provavelmente desejará tirar a parte "+480" antes de analisar a string restante em uma variável real de tempo. Em seguida, você pode ajustá -lo ao fuso horário correto ou executar a conversão do fuso horário (de minutos a horas/minutos) antes do tempo e alterar o "+480" para a representação correta do fuso horário e depois passar a coisa toda para DateTime.parse.

Outras dicas

Como outros sugeriram que a string é um exemplo de DataTime MOF Tipo de dados. É uma corda de comprimento fixo e você pode encontrar detalhes sobre sua estrutura aqui. .NET usa System.Management Namespace para acessar o WMI e uma de suas aulas é ManagementDateTimeconverter classe que facilita o trabalho com os valores do DATETTIME WMI.

Dê uma olhada neste link. Apenas olhando, eu diria que está em um formato de yyyymmddhhmms. [Um monte de personagens 'f'].

Ajudaria se você nos dissesse que era a data representada. 2009 no início sugere que pode ser yyyymmddhhmms.ffffff+tz

(F = fração de segundos e TZ sendo diferença do UTC em minuto, então aqui, 6 horas)

Você pode analisar isso com DateTime.parseExact-metódio (String, String, IFORMATPROVER, DATETIMESTILES)

A sequência do formato é "yyyymmddhhmms.fffffzzz"

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top