Skip to content

devicewhite/BR-Time

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 

Repository files navigation

BRTime Include

BRTime é uma biblioteca PAWN desenvolvida para fornecer data e hora local do servidor (UTC-3) de forma precisa e eficiente. Ela foi criada com base em algoritmos matemáticos robustos para cálculos de datas sem a necessidade de bibliotecas externas ou chamadas nativas pesadas.

Sobre o algoritmo

A função BR_GetDate utiliza uma variação otimizada do algoritmo de conversão de dias absolutos para data gregoriana, conhecido por sua precisão e desempenho. Baseado na versão implementada por Howard Hinnant e utilizado em linguagens como C++, Rust e Python, este método converte timestamps Unix diretamente para ano/mês/dia.

Este algoritmo evita o uso de tabelas de dias por mês ou estruturas complexas, usando apenas divisões e multiplicações para extrair os componentes da data. Já a função IsLeapYear segue a regra gregoriana clássica, conferindo simplicidade e confiabilidade.

Funcionalidades

  • BR_GetTime(&hour, &minute, &second)
    Retorna a hora atual do servidor (UTC-3).

  • BR_GetDate(&year, &month, &day)
    Retorna a data atual do servidor (UTC-3).

  • IsLeapYear(year)
    Verifica se o ano fornecido é bissexto.

Exemplo de uso

new h, m, s, y, mo, d;
BR_GetTime(h, m, s);
BR_GetDate(y, mo, d);

printf("Data: %02d/%02d/%d", d, mo, y);
printf("Hora: %02d:%02d:%02d", h, m, s);

if(IsLeapYear(y)) {
    print("Este ano é bissexto.");
}

Instalação

  1. Copie brtime.inc para sua pasta include/.
  2. No seu script PAWN, adicione:
    #include <brtime>

Licença

Este projeto está licenciado sob os termos da Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0).

Você pode usar, modificar e redistribuir este código desde que forneça os devidos créditos e não o utilize para fins comerciais.

Mais detalhes na LICENSE.

About

Pawn: Manipulando datas e horas no fuso horário BRASILEIRO!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages