convertir String a Date

La necesidad de convertir cadenas a tipo de datos Date se puede decir que siempre nos encontraremos en esta situación.
Por lo tanto en esta entrada mostraremos como podemos realizar la conversión de tipo de dato String a Date utilizando la Clase SimpleDateFormat.
La clase SimpleDateFormat nos permite formatear y convertir la fecha dependiendo de la localidad que requerimos.



public class ToDate {

    public ToDate() {
    }

    public Date toDate(String fechaIn, String formatoIn) throws ParseException {

        SimpleDateFormat df = new SimpleDateFormat(formatoIn);
        ParsePosition pp = new ParsePosition(0);
        Date date = df.parse(fechaIn);

        return date;
    }

    public static void main(String arg[]) {
        try {
            ToDate fecha = new ToDate();
            String fechas = "01-Dic-2010 22:00:00.000";
            System.out.println(fecha.toDate(fechas, "dd-MMM-yyyy hh:mm:ss"));

        } catch (ParseException ex) {
            Logger.getLogger(ToDate.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}
Leer más...

Año Bisiesto

El año bisiesto es un tema que nos encontramos cuando necesitamos obtener fechas exactas en cantidad de días.
Por lo tanto veremos en esta entrada como podemos programarlo con java.
Un año es año bisiesto dura 366 días, en vez de los 365 de un año común. Ese día adicional se añade al final del mes más corto,que viene siendo febrero y quedando con 29 días.
Este día se añade para corregir el desfase que existe con la duración real de los años: 365 días y 6 horas y 9min. Esto hace que se corrija cada cuatro años (los años múltiplos de cuatro) que se acumulan 24 horas.
para ver más detalle y explicación del tema en base a teoría leer bisiesto

public class NewClass {
    public boolean esBisiesto(int mesIn, int anioIn){
        boolean bis = false;

        if (anioIn % 4 == 0) {
            bis = true;
        } else if (anioIn % 100 == 0) {
            bis = true;
        } else if (anioIn % 400 == 0) {
            bis = true;
        }
        return bis;
    }
    public int obtenerDias(int mesIn, int anioIn) {

        
        if (mesIn == 1 || mesIn == 3 || mesIn == 5 || mesIn == 7
                || mesIn == 8 || mesIn == 10 || mesIn == 12) {
            return 31;
        } else if (mesIn == 2) {
            if (esBisiesto(int mesIn, int anioIn)) {
                return 29;
            } else {
                return 28;
            }
        } else {
            return 30;
        }
    }

    public static void main(String arg[]) {
        NewClass b = new NewClass();
        System.out.println(b.obtenerDias(2, 2024));
    }
}

Leer más...