Ejemplo de manejo de fechas en Java

/* Fechas: control de fecha correcta, número de días de un mes cualquiera y cantidad de días transcurridos desde el 1 de enero hasta la fecha dada del año correspondiente. Se tiene en cuenta el control de años bisiestos. */

package fechas;
import java.util.Scanner;

/*
*@author RLR
*/

public class Fechas
{
/*
* @param args the command line arguments
*/
public static void main(String[] args)
{
// TODO code application logic here
int dia,mes,anio;
Scanner sc=new Scanner(System.in);

System.out.println(“Dame dia, mes y anio: “);
dia=sc.nextInt();
mes=sc.nextInt();
anio=sc.nextInt();
System.out.print(“Esta es la fecha: ” + dia + “-” + mes + “-” + anio + ‘\n’);

if(dia>ndias(mes,anio) || dia <1 || mes<1 || mes>12 || anio<1600)
{
System.out.println(“Te has equivocado de fecha.\n”);
System.out.println(“\n\nPulsa Tecla+Return para acabar.\n”);
String FIN=sc.next();
return;
}

System.out.println(“Este mes tiene: ” + ndias(mes,anio) + ” dias”);

System.out.println(“Esta fecha es el dia ” + diasTot(dia,mes,anio)
+ ” del anio ” + anio + “\n\n”);

System.out.println(“\n\nPulsa Tecla+Return para acabar.\n”);
String FIN=sc.next();
}

public static int ndias(int mes, int anio)
{
int dias=0;

switch(mes)
{
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
dias=31;
break;
case 4: case 6: case 9: case 11:
dias=30;
break;
case 2:
if((anio%400==0) || (anio%4==0)&&(anio%100!=0))
dias=29;
else    dias=28;
}

return dias;
}

public static int diasTot(int dia, int mes, int anio)
{
int dias=0;

for(int i=1; i<mes; i++)
dias += ndias(i,anio);
dias += dia;

return dias;
}
}

Esta entrada fue publicada en Ciencia y programación. Guarda el enlace permanente.

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