Partilhar via


Datas, horários e fusos horários

Para além da estrutura básica DateTime , a .NET fornece as seguintes classes que suportam o trabalho com fusos horários:

  • TimeZone

    Utilize esta classe para trabalhar com o fuso horário local do sistema e a zona de Tempo Universal Coordenado (UTC). A funcionalidade da TimeZone classe é em grande parte superada pela TimeZoneInfo classe.

  • TimeZoneInfo

    Utilize esta classe para trabalhar com qualquer fuso horário que seja predefinido num sistema, para criar novos fusos horários e para converter facilmente datas e horários de um fuso horário para outro. Para novos desenvolvimentos, use a TimeZoneInfo classe em vez da TimeZone classe.

  • DateTimeOffset

    Utilize esta estrutura para trabalhar com datas e horas cuja compensação (ou diferença) da UTC é conhecida. A DateTimeOffset estrutura combina uma data e valor de tempo com a compensação desse tempo da UTC. Devido à sua relação com a UTC, um valor individual de data e hora identifica inequivocamente um único ponto no tempo. Isto torna um DateTimeOffset valor mais portátil de um computador para outro do que um DateTime valor.

A partir de .NET 6, estão disponíveis os seguintes tipos:

  • DateOnly

    Utilize esta estrutura ao trabalhar com um valor que represente apenas uma data. A data representa todo o dia, desde o início do dia até ao fim. DateOnly tem uma gama de 0001-01-01 através 9999-12-31de . E, este tipo representa a combinação de mês, dia e ano sem um tempo específico. Se anteriormente usou um DateTime tipo no seu código para representar uma data que não tenha a hora marcada, utilize este tipo no seu lugar.

  • TimeOnly

    Utilize esta estrutura para representar um tempo sem data. O tempo representa as horas, minutos e segundos de um dia não específico. TimeOnlytem uma gama de00:00:00.0000000.23:59:59.9999999 Este tipo pode ser utilizado para substituir DateTime e TimeSpan tipos no seu código quando utilizou esses tipos para representar um tempo.

A secção seguinte fornece as informações de que precisa para trabalhar com fusos horários e para criar aplicações conscientes do fuso horário que podem converter datas e horários de um fuso horário para outro.

Nesta secção

Visão geral do fuso horário
Discute a terminologia, conceitos e questões envolvidas na criação de aplicações de fuso horário.

Escolha entre DateTime, DateTimeOffset, TimeSpan e TimeZoneInfo
Discute quando utilizar o DateTime, DateTimeOffsete TimeZoneInfo tipos ao trabalhar com dados de data e hora.

Encontrar os fusos horários definidos num sistema local
Descreve como enumerar os fusos horários encontrados num sistema local.

Como: Enumerar fusos horários presentes num computador
Fornece exemplos que enumeram os fusos horários definidos no registo de um computador e que permitem que os utilizadores selecionem um fuso horário pré-definido a partir de uma lista.

Como: Aceda aos objetos pré-finidos utc e fuso horário local
Descreve como aceder ao Tempo Universal Coordenado e ao fuso horário local.

Como: Instantiizar um objeto TimeZoneInfo
Descreve como instantaneaizar um TimeZoneInfo objeto do registo do sistema local.

Instantiing um objeto DateTimeOffset
Discute as formas pelas quais um DateTimeOffset objeto pode ser instantâneo, e as formas pelas quais um DateTime valor pode ser convertido em um DateTimeOffset valor.

Como: Criar fusos horários sem regras de ajustamento
Descreve como criar um fuso horário personalizado que não suporta a transição de e para o horário de verão.

Como: Criar fusos horários com regras de ajustamento
Descreve como criar um fuso horário personalizado que suporta uma ou mais transições de e para o horário de verão.

Salvar e restaurar fusos horários
Descreve TimeZoneInfo o suporte para a serialização e deserialização dos dados do fuso horário e ilustra alguns dos cenários em que estas funcionalidades podem ser utilizadas.

Como: Guardar fusos horários para um recurso incorporado
Descreve como criar um fuso horário personalizado e guardar as suas informações num ficheiro de recursos.

Como: Restaurar fusos horários a partir de um recurso incorporado
Descreve como instantânear fusos horários personalizados que foram guardados num ficheiro de recursos incorporado.

Realização de operações aritméticas com datas e horários
Discute as questões envolvidas na adição, subtração e comparação DateTime e DateTimeOffset valores.

Como: Utilizar fusos horários na aritmética de data e hora
Discute como realizar a aritmética de data e hora que reflete as regras de ajuste de um fuso horário.

Conversão entre DataTime e DateTimeOffset
Descreve como converter entre DateTime valores e DateTimeOffset valores.

Tempos de conversão entre fusos horários
Descreve como converter tempos de um fuso horário para outro.

Como: Resolver tempos ambíguos
Descreve como resolver um tempo ambíguo mapeando-o para o tempo padrão do fuso horário.

Como: Deixar os utilizadores resolverem tempos ambíguos
Descreve como permitir que um utilizador determine o mapeamento entre uma hora local ambígua e tempo universal coordenado.

Referência

System.TimeZoneInfo