Posteado por: [p3ll3] | marzo 21, 2008

Calcular dia de semana en que naci ???

Calcular dia de semana en que naci ???


Bueno aqui les dejo este programa capaz de calcular el dia de nacimiento o dia de alguna fecha importante de acuerdo a los datos que se le den.

Descargar
El programa esta hecho de acuerdo al calendario gregoriano y con esta formula:

d = ((A - 1) % 7 + \left ( \frac{A-1}{4} - \left ( 3 \cdot \frac{\frac{A - 1}{100} + 1}{4}\right ) \right ) % 7 + M + D % 7) % 7 \,\!

NOTA:Esta formula obtenida de la wikipedia esta mal en lo que a parentesis se refiere,entonces tienen que agregarselos antes del tres y despues de la segunda fraccion.

Donde “d” va a ser un vector con los dias de la semana , el domingo esta en la posicion 0.
A = anio.
M = dos vectores dependiendo si el anio es bisiesto o no con numeros que representan al mes para cada anio.

Mes E F M A M J J A S O N D

ANl 0 3 3 6 1 4 6 2 5 0 3 5

ABi 0 3 4 0 2 5 0 3 6 1 4 6

ANl = Anio normal
ABi = Anio bisiesto

D = dia.

Aplicando el proceso adecuado se puede obtener el dia con respecto a la fecha dada.

Aqui les dejo explicado lo mas importante del programa:

public void Calcular(int dia,int mes,int an){

if( ((an%4)==0)&&((an%100)!=100)||((an%400)==0) ){ // ver si anio es
//bisiesto
int a = (an-1)%7;
a = a + ( (((an-1) / 4) – ( 3 * ( ( ( (an-1) / 100) +1) / 4) )) ) % 7;
a = a + AnioBisiesto[mes];
a = a + (dia%7);
a = a%7;

jTextField1.setText(“”+Dias[a]);

}else{

int a = (an-1)%7;
a = a + ( (((an-1) / 4) – ( 3 * ( ( ( (an-1) / 100) +1) / 4) )) ) % 7;
a = a + AnioNormal[mes];
a = a + (dia%7);
a = a%7;

jTextField1.setText(“”+Dias[a]);

}

}

Como ven es un proceso demasiado sencillo que pueden hacer para calcular un dia en especifico o para implementarlo con algo mas.

Saludos……..8)

Anuncios

Responses

  1. muy bueno pero el link del programa está roto.

    gracias.

  2. Actualizado, muchas gracias por avisar …


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Categorías

A %d blogueros les gusta esto: