elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 01:26  


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java (Moderadores: Debci, Leyer)
| | | |-+  ayuda con estod dos programas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda con estod dos programas  (Leído 697 veces)
gibi77

Desconectado Desconectado

Mensajes: 5


Ver Perfil
ayuda con estod dos programas
« en: 30 Septiembre 2011, 21:13 »

lo que pasa es que tengo que hacer un algoritmo que me determine los dias transcurridos entre ua fecha dada y la actual. hice un codigo pero no me funciona muy bien... quisiera que me ayudaran con el.

y tambien tengo que hacer un programa que aceepte un mnumero de dias, mes y año y los visualice en formato dd/mm/aa. alguien me puede ayudar?? de antemano gracias!!!

Código
void transcurrido(){
       int año=Integer.parseInt(JOptionPane.showInputDialog("Dame el año a partir del cual quieres calcular\nejem: 2000"));
       int mes=Integer.parseInt(JOptionPane.showInputDialog("Dame el mes a partir del cual quieres calcular"));
       int dia=Integer.parseInt(JOptionPane.showInputDialog("Dame el dia a partir del cual quieres calcular"));
       GregorianCalendar gc = new GregorianCalendar(año, mes, dia);
       int añoac=Integer.parseInt(JOptionPane.showInputDialog("hasta que año quieres calcular?\nejem: 2000"));
       int mesac=Integer.parseInt(JOptionPane.showInputDialog("hasta que mes quieres calcular?"));
       int diaac=Integer.parseInt(JOptionPane.showInputDialog("hasta que dia quieres calcular?"));
       GregorianCalendar gc1 = new GregorianCalendar(añoac, mesac, diaac);
       Date fec1 = gc.getTime();
       Date fec2 = gc1.getTime();
       long time = fec2.getTime() - fec1.getTime();
       JOptionPane.showMessageDialog(null,"han transcurrido: "+ time/(3600*24*1000)+" dias");


« Última modificación: 1 Octubre 2011, 14:00 por Debci » En línea
Valkyr


Desconectado Desconectado

Mensajes: 632


Divide y vencerás


Ver Perfil
Re: ayuda con estod dos programas
« Respuesta #1 en: 1 Octubre 2011, 12:51 »

Yo lo que haría sería coger y leer una fecha, al leerla comprobar que los datos introducidos son correctos, ya que, por ejemplo, no tiene sentido que introduzcan un mes 13 o un día 38, al igual con los años  que no pueden ser negativos.

Una vez que los has leido haces la diferencia y punto. Lo que has propuesto lo he ejecutado y funciona correctamente, lo único que yo haría sería devolver el valor absoluto, de esta forma no te importaría que te diesen en primer lugar una fecha futura y en segundo lugar una fecha actual.

Por otro lado el método getTime() devuelve el número de milisegundos transcurridos desde 1970, por lo tanto una fecha anterior a esta nos devolvería un valor negativo.

Lo de visualizar no se a que te refieres exactamente.

Saludos.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
quien me puede ayudar en estod dos programa!?
Programación General
sorez 3 392 Último mensaje 26 Agosto 2004, 19:27
por zheo
Ayuda con Programas en CVS
Programación General
sick-boy 0 250 Último mensaje 24 Enero 2005, 19:26
por sick-boy
ayuda con programas
Programación C/C++
mauriciogp 3 586 Último mensaje 2 Septiembre 2005, 20:34
por Kpax
Ayuda con Programas
Software
cristian_666 1 307 Último mensaje 12 Marzo 2006, 19:36
por Tor
Me pueden estafar con estod datos?? como? seria nºcuenta, direc. Nº ss ,DNI
Seguridad
Giorgicw 0 244 Último mensaje 16 Marzo 2012, 15:47
por Giorgicw
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines