Partilhar via


Como: Criar zonas de tempo sem regras de ajuste

As informações precisas de fuso horário requeridas por um aplicativo podem não estar presentes em um determinado sistema por diversas razões:

  • O fuso horário nunca foi definido no registro do sistema local.

  • Dados sobre o fuso horário foram modificados ou removidos do registro.

  • O fuso horário existe mas não tem informações precisas sobre ajustes de fuso horário para um período histórico específico.

Nesses casos, você pode chamar o método CreateCustomTimeZone para definir o fuso horário exigido pelo seu aplicativo. Você pode usar as sobrecargas desse método para criar um fuso horário com ou sem regras de ajuste. Se o fuso horário aceitar horário de verão, você pode definir ajustes com regras de ajuste fixas ou flutuantes. (Para obter as definições desses termos, consulte a seção " Terminologia de fuso horário" em Visão geral do fuso horário.)

Observação importanteImportante

Fusos horários personalizados criados ao chamar o método CreateCustomTimeZone não são adicionados ao registro.Em vez disso, eles podem ser acessados apenas pela referência de objeto retornada pela chamada de método CreateCustomTimeZone.

Este tópico mostra como criar um fuso horário sem regras de ajuste. Para criar um fuso horário que não permite regras de ajuste de horário de verão, consulte Como: Criar zonas de tempo com regras de ajuste.

Para Criar Zonas de Tempo sem Regras de Ajuste

  1. Defina o nome de exibição do fuso horário.

    O nome de exibição segue um formato razoavelmente padrão no qual o deslocamento do Tempo Universal Coordenado (UTC) do fuso horário é colocado entre parênteses e é seguido por uma sequência de caracteres que identifica o fuso horário, uma ou mais das cidades no fuso horário, ou um ou mais dos países ou regiões no fuso horário.

  2. Defina o nome do horário padrão do fuso horário. Normalmente, essa sequência de caracteres também é usada como identificador do fuso horário.

  3. Se você desejar usar um identificador diferente do nome padrão do fuso horário, defina o identificador do fuso horário.

  4. Crie uma instância de um objeto TimeSpan que define o deslocamento do UTC do fuso horário. Fusos horários com horários posteriores ao UTC têm um deslocamento positivo. Fusos horários com horários anteriores ao UTC têm um deslocamento negativo.

  5. Chame o método TimeZoneInfo.CreateCustomTimeZone(String, TimeSpan, String, String) para instanciar o novo fuso horário.

Exemplo

O exemplo a seguir define umazona de tempo personalizada para Mawson, Antártica, que não tem nenhuma regra de ajuste.

Dim displayName As String = "(GMT+06:00) Antarctica/Mawson Time"
Dim standardName As String = "Mawson Time" 
Dim offset As TimeSpan = New TimeSpan(06, 00, 00)
Dim mawson As TimeZoneInfo = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName)
Console.WriteLine("The current time is {0} {1}", _ 
                  TimeZoneInfo.ConvertTime(Date.Now, TimeZoneInfo.Local, mawson), _
                  mawson.StandardName)      
string displayName = "(GMT+06:00) Antarctica/Mawson Time";
string standardName = "Mawson Time"; 
TimeSpan offset = new TimeSpan(06, 00, 00);
TimeZoneInfo mawson = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName);
Console.WriteLine("The current time is {0} {1}", 
                  TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.Local, mawson),
                  mawson.StandardName);      

A sequência de caracteres atribuída à propriedade DisplayName segue um formato padrão no qual o deslocamento da zona de tempo do UTC é seguido por uma descrição amigável da zona de tempo.

Compilando o código

Este exemplo requer:

  • Que uma referência a System.Core.dll seja adicionada ao projeto.

  • Que os seguintes espaços de nome sejam importados:

    Imports System.Collections.Generic
    Imports System.Collections.ObjectModel
    
    using System.Collections.Generic;
    using System.Collections.ObjectModel;
    

Consulte também

Tarefas

Como: Criar zonas de tempo com regras de ajuste

Conceitos

Visão geral do fuso horário

Outros recursos

Datas, horas e fusos horários