Foros del Web » Programación para mayores de 30 ;) » Java »

Calculo con fechas

Estas en el tema de Calculo con fechas en el foro de Java en Foros del Web. Buenas noches mi problema es el siguiente tengo tres campos de texto llamados txtfechainicial, txtfechafinal que en la base de datos son tipo DATE y ...
  #1 (permalink)  
Antiguo 31/05/2012, 18:20
Avatar de Eliana18  
Fecha de Ingreso: mayo-2012
Ubicación: Bogotá
Mensajes: 8
Antigüedad: 11 años, 11 meses
Puntos: 0
Calculo con fechas

Buenas noches

mi problema es el siguiente tengo tres campos de texto llamados txtfechainicial, txtfechafinal que en la base de datos son tipo DATE y txtduracion que es de tipo VARCHAR
las fechas se ingresan por teclado y lo que necesito es q la diferencia entre esas dos fechas se muestre en el campo txtduracion

buscando como hacerlo en mysql encontre esto:

String sql ="select fechaInicial,fechaFinal, datediff(fechaFinal,fechaInicial)as duracion from tabla";

que en mysql funciona perfectamente
pero cuando quiero hacerlo desde NetBeans no hace nada


Código:
void diferencia(){
    
    String fechaInicial="",fechaFinal="",duracion="";
        ConexionMySQL mysql = new ConexionMySQL();
        Connection cn = mysql.Conectar();
        
                if (txtfechaFinal.getText().length() == 0 || " ".equals(txtfechaFinal.getText())) {
                JOptionPane.showMessageDialog(null, "El campo Fecha Final no puede estar vacio.");}
               
                else{
                  
    String fsql ="select fechaInicial,fechaFinal, datediff(fechaFinal,fechaInicial)as duracion from tabla";// COMO TOMO EL RESULTADO DE ESTA CONSULTA?'
        try
        {
            Statement st = cn.createStatement();
            ResultSet rs = st.executeQuery(fsql);

            while(rs.next())
            {          
             fecha = rs.getString("fecha");                
             seguimiento = rs.getString("ultimoseguimiento");
             duracion=rs.getString("duracion");

            }
                 
           txtapertura.setText(fecha); 
           txtseguimiento.setText(seguimiento);
           txtduracion.setText(duracion);
           //aqui asigna a los campos los valores encontrados es los registros y me confunde un poco porque no se si en 'duracion' pone lo que se ejecuto en el select o pone el registro que esta en la tabla
        }
        catch (SQLException ex)  {  JOptionPane.showMessageDialog(null, ex); }}
    
    }

se que hay otra manera y lei sobre el tema pero no entendi ni media ya que hasta hace muy poco trabajo en java asi que agradeceria mucho una ayudita porque el asunto es urgente
si exite una solucion mejor es bienvenida

Gracias
  #2 (permalink)  
Antiguo 01/06/2012, 00:50
 
Fecha de Ingreso: abril-2006
Mensajes: 27
Antigüedad: 18 años
Puntos: 6
Respuesta: Calculo con fechas

Parte del problema base es ¿que se entiende o como se define "diferencia entre dos fechas"?

Una vez establecido claramente eso, buscar el metodo que lo calcule, o diseñar el algoritmo ad hoc, no será dificil.


En el codigo que has puesto, en las sentencias rs.getString tienes puesto nombres equivocados. Deben ser los mismos que tienes definidos en las sentencia sql (fechaInicial, fechaFinal, y duracion)

Me parece ver, probablemente, algunos problemas de variables no definidas y demas. Pero eso es dificil estar seguro sin ver todo el codigo.

Última edición por Luis_v; 01/06/2012 a las 00:56
  #3 (permalink)  
Antiguo 01/06/2012, 02:45
Avatar de caruizj  
Fecha de Ingreso: marzo-2012
Ubicación: Málaga
Mensajes: 161
Antigüedad: 12 años, 2 meses
Puntos: 14
Respuesta: Calculo con fechas

Aquí tienes un artículo de cosecha propia que lo que hace es calcular la diferencia entre dos fechas pasadas como String como argumentos de un función.

http://miscodigosdejava.blogspot.com...-2-fechas.html

Espero que te sirva y cualquier duda no dudes en preguntar.

Un saludo.
__________________
Aprendiendo un poco de Java :D
  #4 (permalink)  
Antiguo 01/06/2012, 10:10
Avatar de Eliana18  
Fecha de Ingreso: mayo-2012
Ubicación: Bogotá
Mensajes: 8
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Calculo con fechas

Primero que todo Muchas Muchas Gracias por responder

*Luis_v desde mi punto de vista la diferencia entre dos fechas es el tiempo en este caso en días trascurrido desde la fecha inicio a la fecha final; en cuanto al error de definición estas en lo cierto pero es solo un error al trascribir el código al post.

*caruizj mil gracias por tu ayuda tu código me funciono perfectamente.

un saludo y hasta la proxima.

Etiquetas: mysql, netbeans
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:48.