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
Mensagem pronta para colar
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-timezoneOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/dotnet-timezone/SKILL.md -o SKILL.mdConteú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:
- Extraia cada local da entrada.
- Leia
references/timezone-index.mdpara mapeamentos comuns do Windows e IANA. - 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.
- 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,
NodaTimeeTimeZoneConverter
Gere Código
Use references/code-patterns.md e escolha o menor padrão que se encaixa:
- Padrão 1:
TimeZoneInfopara código apenas para Windows - Padrão 2:
TimeZoneConverterpara conversão multiplataforma - Padrão 3:
NodaTimepara aritmética estrita de fuso horário e agendamento sensível ao horário de verão - Padrão 4:
DateTimeOffsetpara 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.Nowem bancos de dados; armazene UTC em vez disso. - Trate
DateTimeKind.Unspecifiedcomo 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:
- Retorne o bloco de fuso horário resolvido para cada local.
- Declare a implementação recomendada em uma frase.
- Inclua um trecho C# pronto para copiar e colar.
Para solicitações de código e arquitetura:
- Declare a abordagem recomendada em uma frase.
- Forneça os IDs de fuso horário, se relevante.
- Inclua o trecho de código mínimo funcional.
- Mencione o requisito de pacote, se necessário.
- 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 IANAreferences/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
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
Skills parecidas
benchmark-optimization-loop
Faz seu agente melhorar a velocidade de algo de forma medida. Ele testa várias versões e escolhe a mais rápida que ainda funciona corretamente.
affaan-m/ECC
change-impact
Ajuda seu agente a analisar o impacto de mudanças no código antes de fazê-las. Ele compara o planejado com o real depois, cobrindo caminhos, dados, testes e documentação. É útil para mudanças arriscadas ou que afetam várias partes do sistema.
affaan-m/ECC
click-path-audit
Faz seu agente rastrear todos os botões e interações do usuário para achar bugs. Ele encontra problemas onde funções parecem funcionar sozinhas, mas falham juntas. Útil quando bugs persistem mesmo após depuração.
affaan-m/ECC