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.)
Importante |
---|
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
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.
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.
Se você desejar usar um identificador diferente do nome padrão do fuso horário, defina o identificador do fuso horário.
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.
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