Determinação do Dia do Século, Dia da semana e Diferença entre datas

Prof. Roberto Cabral de Mello Borges

cabral@inf.ufrgs.br

1 - Dia do Século

Para qualquer cálculo com datas é essencial que se disponha do "Dia do Século" para a(s) data(s) em questão.
O Dia do século é o número de dias decorridos desde o inicio do século (1º de janeiro de 1901) até a data em questão. Se usa como referência 1901 porque a maioria das datas com as quais se trabalha ainda são do século passado. Lá por 2040 ou mais poderá se mudar para 2001.
A fórmula (válida para datas entre 1901 e 2099) é a seguinte:

DIA-DO-SECULO = (ANO - 1901) * 365 + (ANO - 1901) DIV 4 + DIA + (MES - 1) *31 - [(MES * 4 + 23) DIV 10] * [(MES + 12) DIV 15] + [(4 - ANO MOD 4) DIV 4) * [(MES + 12) DIV 15]


Ex. Para a data de 18/12/2007 fica

DIA-DO-SECULO = (2007- 1901) * 365 + (2007 - 1901) DIV 4 + 18 + (12 - 1) *31 - [(12 * 4 + 23) DIV 10] * [(12 + 12) DIV 15] + [(4 - 2007 MOD 4) DIV 4) * [(12 + 12) DIV 15] =
= 38690 + 26 +18 + 341 - 7 * 1 + 0 =

DIA-DO-SECULO = 39.068


2 - Dia da Semana

Para saber o Dia da Semana basta dividir por 7 e entrar com o resto na tabela abaixo

0 Segunda
1 Terça
2 Quarta
3 Quinta
4 Sexta
5 Sábado
6 Domingo

Logo 18/12/2007 é uma Terça-Feira


3 - Diferença entre duas datas

Para saber a diferença entre duas datas basta calcular o dia do século para as duas datas e depois obter a diferença entre os dois inteiros do dio do século.

ex. Seja a Data 1 16/04/1927 (Data de nascimento do Papa Bento XVI)
Seja a Data 2 18/12/2007 (Exemplo acima)

Para a data de 16/04/1927 fica

DIA-DO-SECULO = (1927- 1901) * 365 + (1927 - 1901) DIV 4 + 16 + (4 - 1) *31 - [(4 * 4 + 23) DIV 10] * [(4 + 12) DIV 15] + [(4 - 1927 MOD 4) DIV 4) * [(4 + 12) DIV 15] =
= 9490 + 6 +16 + 93 - 3 * 1 + 0 =


Dia-Séc. 1 = 9.602
Dia-Séc. 2 = 39.068

A Diferença entre as duas datas é


39.068 - 9.602 = 29.466