Capturar webcam con VB.NET

¿Que haremos? Crearemos una aplicación en Visual Studio, la cual hará uso de una webcam para capturar el video en frames independientes y depositarlos en memoria para despues mostralos al usuario a través de un picturebox y un Timer para crear la ilusión de movimiento. ¿Porque lo haremos? Porque es justo y necesario ¿Que necesitamos? [...]

Envío de correo con JavaMail/Netbeans

JavaMail es una expansión de Java que facilita el envío y recepción de e-mail desde código java. JavaMail implementa el protocolo SMTP (Simple Mail Transfer Protocol) así como los distintos tipos de conexión con servidores de correo -TLS, SSL, autentificación con usuario y password, etc [Según SantaWikipedia] ¿Qué necesitamos? JavaMail 1.4.5 Java y Netbeans 6.9 [...]

Proyecto de base de datos Firebird VB

En este proyecto realizaremos una aplicación de base de datos Firebird con el lenguaje de programación de Visual Basic de Microsoft, este proyecto tendrá las funciones básicas de gestión INSERT, DELETE, UPDATE y una interfaz de usuario para utilizarlas. ¿Que necesitamos? Visual Studio 2008 o superior Firebird última versión Firebird ADO.NET Data Provider. Conocimientos básicos [...]

Imprimir imagen con Print

La siguiente clase hace uso de PRINT para imprimir una imagen que se encuentra en un variable de tipo FileInputStream, esta clase a su vez es implementada desde una interfaz que hace fácil su uso, la clase así como todo el proyecto esta comentado. import java.io.File; import javax.print.Doc; import java.io.IOException; import javax.print.DocFlavor; import javax.print.SimpleDoc; import java.io.FileInputStream; [...]

3/12/09

Ejercicio resuelto: leer, validar y contar dias con clase fecha en java

JAN29

Implemantar una clase para que lea una fecha con el formato "dd/MM/yyyy" y valide que sea una fecha correcta, tambien la fecha debe ser mayor al 01/01/1900, la clase debe devolver el numero de dias transcurridos desde el primer Grito Libertario de America.

Respuesta:
Diseñamos nuestra clase que llamamos cfecha.java, para realizar operaciones con fechas en java se hara uso de las librerias java.text.SimpleDateFormat y java.util, ademas para controlar las excepciones que puedan ocurrir se hace uso de java.text.ParseException.

El constructor de la clase cfecha, se inicializa con la fecha actual del sistema con su respectivo formato, ademas la clase cuenta con los metodos getFecha() y setFecha(d,m,y), un metodo privado para validar la fecha introducida y otro metodo para contar ls dias, cuando se introduce una fecha, se devuelve un valor booleano TRUE si la fecha es valida y False si la fecha no lo es.


package fecha;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

/** 
 * @web http://jc-mouse.blogspot.com/
 * @author Mouse
 */
public class cfecha {
    private String mifecha;
    private String fechaini = "25/05/1809";
    private int dia= 1;
    private int mes = 1;
    private int anio =1900;

public cfecha(){
   SimpleDateFormat formateador = new SimpleDateFormat(
  "dd/MM/yyyy", new Locale("es_ES"));
   Date fechaDate = new Date();
   mifecha = formateador.format(fechaDate);   
}

public String getFecha(){
    return mifecha;
}

public boolean setFecha(int d, int m, int y){          
    boolean esfecha =true;
    if (ValidaFecha(mifecha)){  
        if ((d >= dia)&& (m >= mes)&& (y >= anio))
        {
           mifecha= d + "/" + m + "/" + y;
           esfecha=true;
        }  
        else
        {
            esfecha=false;
        }
    }
    else
    {
        esfecha=false;
    }        
    return esfecha;
}
/**
 Valida una fecha si el formato de entrada es igual a dia/mes/año
 */   
private boolean ValidaFecha(String f) {
    try {
        //ayuda a mostrar la fecha respecto a un formato dado
        //en este caso dia/mes/año
        SimpleDateFormat formatoFecha = new SimpleDateFormat("dd/MM/yyyy",Locale.getDefault());    
        //desabilita el modo permisivo osea que si es introduce una fecha invalida la ignorara
        // y no la convertira a una fecha equivalente valida
        formatoFecha.setLenient(false);
        //Convierte la cadena introducida en una fecha
        formatoFecha.parse(f);
    } catch (ParseException e) {
        // si se produce un error en la conversion devuelve false= fecha no valida
            return false;
        }    
    return true;
} 

/*
 Devuelve el numero de dias transcurridos desde una fecha inicial dada como constante
 * si la fecha introducida es menor a esa fecha, devuelve cero
 */
public int DiasTranscurridos(){
        try {                   
            SimpleDateFormat formatoFecha = new SimpleDateFormat("dd/MM/yyyy", Locale.getDefault());
            Date f1 = formatoFecha.parse(fechaini);
            Date f2 = formatoFecha.parse(mifecha);                   
            if (f1.before(f2)) {                
               long f3 = f1.getTime();
               long f4 = f2.getTime();
               long resta = f4-f3;
               double dias = Math.floor(resta/(1000 * 60 * 60 * 24));
               return (int) dias;
            } else {
                return 0;
            }
        } catch (ParseException ex) {
            return 0;
        }    
}        
}


Para implementar la clase cfecha.java .


package fecha;
/**
 * @web http://jc-mouse.blogspot.com/
 * @author mouse
 */
public class Main {
    
    public static void main(String[] args) {
        cfecha f = new cfecha();  
        if (f.setFecha(1, 14,1800)){
        System.out.println("Fecha introducida: " + f.getFecha());
        System.out.println(f.DiasTranscurridos() + " dias trasncurridos");      
        }
        else
        {
            System.out.println("No es un fecha valida");          
        }
        
    }
}
 

1 comentarios:

andres dijo...

yo tengo un problema con la fecha y es que no se como hacer q se valide en mysql y q despues me la muetre en el formato de netbeans

Post recomendado