Fórmula
A fórmula é:
(Ano Código + Código mes + Century Código + Fecha Number - Leap Ano Código) mod 7
Aquí está como funciona
Vou correr a través dun exemplo coa data, 14 de marzo 1897 - aniversario de Einstein.
O Código Ano
Para calcular o Código Ano, use esta fórmula:
(+ YY (YY div 4)) mod 7
YY e os dous últimos díxitos do ano. Para o ano 1897, e 97.
En primeiro lugar, dividir YY por 4 e descartar o resto: 97 p 4 = 24.
A continuación, engadir 24 ao seu número YY, que é de 97 neste caso, obtendo 121.
O seguinte paso é a seguinte: 121 mod 7.
"Mod" significa dividir o número e manter só o resto. Para 121 mod 7, iniciar a retirada setes:
10 x 7 e 70, deixando-nos con 51, porque 121-70 = 51.
7 x 7 = 49, e 51-49 = 2.
Eliminamos todo setes de 121 ata estivemos cun resto de 2. Que é o código de ano para 1897.
Pode usar unha imaxe de forma número como un cisne para manter isto en memoria mentres calcula os elementos a continuación.
O Código mes
Iso é doado - pode memorizar o número 033614625035:
Xaneiro = 0
Febreiro = 3
Marzo = 3
Abril = 6
Maio = 1
Xuño = 4
Xullo = 6
Agosto = 2
Setembro = 5
Outubro = 0
Novembro = 3
Decembro = 5
Agora tes o código dun mes. Para o aniversario Einsteins en marzo, que é 3.
datas gregorianas
Para o calendario gregoriano, lembre-se o número 4206420:
1700 = 4
1800 = 2
1900 = 0
2000s = 6
2100s = 4
2200s = 2
2300S = 0
Se só está facendo este truco calendario con aniversarios de amigos, probablemente podería deixar este paso para fóra, porque as datas que caen en 1900 obter un código Século de cero e non afectan o resultado do cálculo.
datas Julian
Se está mirando para unha data Julian, a fórmula é tomar o número século e Restar-lo a partir de 18 e, a continuación, mod 7.
Exemplo 1: se o ano é 852 CE, tome o número de século, 8, e Restar-lo a partir de 18, deixando 10. Entón, 10 mod 7 = 3.
Exemplo 2: se o ano é 1625 CE, tome o número do século 16, e Restar-lo a partir de 18, deixando 2. 2 mod 7 = 2, entón neste caso o Código Century é 2.
Para o aniversario Einsteins en 1897, o Código Century é 2, xa que é unha data gregoriana, eo gráfico anterior mostra que data en 1800 obter un axuste de 2.
Leap Ano Código
A outra cousa a ter en conta é que está lidando con un ano bisesto. Edit: Se a data está nunha xaneiro ou febreiro de un ano bisesto, ten que restar un do seu total antes da etapa final.
calendario gregoriano
Se pode dividir un ano gregoriano por 4, que é un ano bisesto, a menos que sexa divisible por 100. Pero é un ano bisesto se é divisible por 400.
1992 é un ano bisesto, porque pode división lo por catro.
1900 non é un ano bisesto, porque pode división lo por 100.
2000 é un ano bisesto, porque pode división lo por 400.
Julian Calendar
Se pode dividir un ano Julian por 4, que é un ano bisesto.
aniversario de Einstein foi en 1897 que non foi un ano bisesto (0), polo que non afecta o resultado.
Cálculo do día
Voltar á fórmula orixinal:
(Ano Código + Código mes + Century Código + Fecha Number - Leap Ano Código) mod 7
A 14 de marzo de 1897, aquí están os resultados:
Código Ano: 2
Código mes: 3
Código do século: 2
Número Data: 14 (o día 14 do mes)
Leap Ano Código: 0
así:
(2 + 3 + 2 + 14) mod 7 = 21 = 0 mod 7
Coincidir co número resultante da lista de abaixo, e terá o día da semana:
0 = domingo
1 = segunda
2 = martes
3 = mércores
4 = xoves
5 = venres
6 = sábado
Einstein naceu nun domingo.
máis exemplos
Aquí están tres exemplos de diferentes séculos:
O pouso na Lúa
Os seres humanos pisar na Lúa: 20 xullo de 1969:
Tomé 69 e dividir por 4, descartando o resto. Isto deixa 17. Fai 69 a 17 para 86. Entón, 86 mod 7 = 2. O Código Ano é 2.
O Código mes de xullo é 6.
O Código do século ao de 1900 é cero.
O Número Data e 20, porque é o día 20 de xullo.
1969 non foi un ano bisesto, xa que non pode ser dividido por 4.
2 + 6 + 0 + 20 = 28
28 mod 7 = 0
20 de xullo de 1969 foi un domingo.
Última actualización
9 de set. de 2017