Pular para o conteúdo
Skillpedia
Código em geral40 mil · #5123

dotnet-timezone

Ajuda seu agente a lidar com fusos horários em C#. Ele fornece código pronto para conversões, horários de verão e agendamentos em diferentes fusos.

O que ela faz

Esta ferramenta ajuda programadores a lidar com fusos horários em seus códigos C# (.NET). Ela fornece informações sobre como converter horários entre diferentes locais, entender o horário de verão e garantir que o código funcione corretamente em diferentes sistemas operacionais.

Quando usar

  • ✓Quando você precisa saber o fuso horário de uma cidade específica.
  • ✓Ao converter horários entre UTC e o horário local.
  • ✓Para garantir que seu código funcione corretamente em computadores Windows e Linux.

Exemplo do que pedir para a IA

“Qual o fuso horário de São Paulo e me dê um exemplo de código C# para converter a hora atual de UTC para lá.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/github/awesome-copilot/blob/main/skills/dotnet-timezone/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/dotnet-timezone/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta consulta um índice de fusos horários conhecidos e usa bibliotecas .NET para encontrar as informações corretas. Ela pode gerar trechos de código prontos para usar, dependendo do que você precisa (como conversão simples ou agendamento complexo).

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add github/awesome-copilot --skill dotnet-timezone

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/dotnet-timezone/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Fuso Horário do .NET

Resolve questões de fuso horário para código .NET e C# com orientação segura para produção e trechos prontos para copiar e colar.

Comece Com o Caminho Certo

Identifique o tipo de solicitação primeiro:

  • Pesquisa de endereço ou local
  • Pesquisa de ID de fuso horário
  • Conversão UTC/local
  • Compatibilidade de fuso horário multiplataforma
  • Agendamento ou tratamento de horário de verão (DST)
  • Design de API ou persistência

Se a biblioteca for incerta, use TimeZoneConverter para trabalho multiplataforma. Se o cenário envolver agendamentos recorrentes ou regras estritas de horário de verão, prefira NodaTime.

Resolva Endereços e Locais

Se o usuário fornecer um endereço, cidade, região, país ou documento contendo nomes de lugares:

  1. Extraia cada local da entrada.
  2. Leia references/timezone-index.md para mapeamentos comuns do Windows e IANA.
  3. Se o local exato não estiver listado, infira a zona IANA correta pela geografia e, em seguida, mapeie-a para o ID do Windows.
  4. Retorne ambos os IDs e um exemplo C# pronto para uso.

Para cada local resolvido, forneça:

Location: <resolved place>
Windows ID: <windows id>
IANA ID: <iana id>
UTC offset: <standard offset and DST offset when relevant>
DST: <yes/no>

Em seguida, inclua um trecho multiplataforma como:

using TimeZoneConverter;

TimeZoneInfo tz = TZConvert.GetTimeZoneInfo("Asia/Colombo");
DateTime local = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, tz);

Se vários locais estiverem presentes, inclua um bloco por local e, em seguida, um trecho combinado de vários fusos horários.

Se um local for ambíguo, liste as possíveis correspondências de fuso horário e peça ao usuário para escolher a correta.

Pesquise IDs de Fuso Horário

Use references/timezone-index.md para mapeamentos do Windows para IANA.

Sempre forneça ambos os formatos:

  • ID do Windows para TimeZoneInfo.FindSystemTimeZoneById() no Windows
  • ID IANA para Linux, contêineres, NodaTime e TimeZoneConverter

Gere Código

Use references/code-patterns.md e escolha o menor padrão que se encaixa:

  • Padrão 1: TimeZoneInfo para código apenas para Windows
  • Padrão 2: TimeZoneConverter para conversão multiplataforma
  • Padrão 3: NodaTime para aritmética estrita de fuso horário e agendamento sensível ao horário de verão
  • Padrão 4: DateTimeOffset para APIs e transferência de dados
  • Padrão 5: Persistência e apresentação do ASP.NET Core
  • Padrão 6: trabalhos recorrentes e agendadores
  • Padrão 7: carimbos de data/hora de horário de verão ambíguos e inválidos

Sempre inclua orientação de pacote ao recomendar bibliotecas de terceiros.

Avise Sobre Armadilhas Comuns

Mencione o aviso relevante quando aplicável:

  • TimeZoneInfo.FindSystemTimeZoneById() é específico da plataforma para IDs de fuso horário.
  • Evite armazenar DateTime.Now em bancos de dados; armazene UTC em vez disso.
  • Trate DateTimeKind.Unspecified como um risco de bug, a menos que seja uma entrada deliberada.
  • Transições de horário de verão podem pular ou repetir horários locais.
  • Ambientes Azure Windows e Azure Linux podem esperar formatos de ID de fuso horário diferentes.

Formato da Resposta

Para solicitações de endereço e local:

  1. Retorne o bloco de fuso horário resolvido para cada local.
  2. Declare a implementação recomendada em uma frase.
  3. Inclua um trecho C# pronto para copiar e colar.

Para solicitações de código e arquitetura:

  1. Declare a abordagem recomendada em uma frase.
  2. Forneça os IDs de fuso horário, se relevante.
  3. Inclua o trecho de código mínimo funcional.
  4. Mencione o requisito de pacote, se necessário.
  5. Adicione um aviso de armadilha, se importar.

Mantenha as respostas concisas e focadas no código.

Referências

  • references/timezone-index.md: mapeamentos comuns de fuso horário do Windows e IANA
  • references/code-patterns.md: padrões de fuso horário .NET prontos para uso
Perguntas frequentes

O que é UTC?

UTC (Tempo Universal Coordenado) é o fuso horário principal, usado como referência mundial. É como o 'horário de Greenwich' (GMT), mas mais preciso.

O que é horário de verão (DST)?

DST (Daylight Saving Time) é quando os relógios são adiantados em uma hora durante os meses mais quentes para aproveitar melhor a luz do dia. Nem todos os lugares usam.

Por que preciso me preocupar com fusos horários no código?

Se seu aplicativo lida com datas e horários de diferentes lugares (ou mesmo apenas o seu próprio), é crucial usar os fusos horários corretos para evitar erros, especialmente em agendamentos ou ao exibir informações para usuários em diferentes regiões.

Detalhes

Descrição original do autor

.NET timezone handling guidance for C# applications. Use when working with TimeZoneInfo, DateTimeOffset, NodaTime, UTC conversion, daylight saving time, scheduling across timezones, cross-platform Windows/IANA timezone IDs, or when a .NET user needs the timezone for a city, address, region, or country and copy-paste-ready C# code.

repo: github/awesome-copilot

Popularidade

Estrelas no GitHub
40 mil
Posição no ranking
#5123
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas