• Publicidad

Fecha y hora

Discute todo acerca de JavaScript así como DHTML o la tecnología AJAX.

Fecha y hora

Notapor BigBear » 2013-02-05 10:48 @491

Tengo el siguiente código :


Sintáxis: [ Descargar ] [ Ocultar ]
Using javascript Syntax Highlighting
  1. <script language="JavaScript">
  2.  
  3. var fecha = new Date();
  4.  
  5. var dia = fecha.getDate();
  6. var mes = fecha.getMonth() + 1;
  7. var anio = fecha.getFullYear();
  8. var juntar = dia+"/"+mes+"/"+anio;
  9.  
  10. document.decime_date.fechaa.value = juntar;
  11.  
  12. function updatenow(){
  13.        
  14. tiempo = new Date()
  15.  
  16. document.decime_date.hora.value = tiempo.getHours()+":"+tiempo.getMinutes()+":"+tiempo.getSeconds();
  17.  
  18. setTimeout("updatenow()",1)
  19.  
  20. }
  21.  
  22. </script>
  23.  
  24. <body onload="updatenow()">
  25.  
  26. <form name="decime_date">
  27. Fecha : <input type="text" name="fechaa" size="10">
  28. <br>
  29. Hora : <input type="text" name="hora" size="10">
  30. </form>
  31.  
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


El problema es que la fecha no se muestra , ¿ qué estoy haciendo mal ?


------------------------------

Ya lo resolví , mejorando el código de esta forma :


Sintáxis: [ Descargar ] [ Ocultar ]
Using javascript Syntax Highlighting
  1. <script language="JavaScript">
  2.  
  3. function updatenow(){
  4.        
  5. dat = new Date()
  6.  
  7. alpedo = dat.getMonth() + 1;
  8.  
  9. document.decime_date.hora.value = dat.getHours()+":"+dat.getMinutes()+":"+dat.getSeconds();
  10. document.decime_date.fechaa.value = dat.getDate()+"/"+alpedo+"/"+dat.getFullYear();
  11.  
  12. setTimeout("updatenow()",1)
  13.  
  14. }
  15.  
  16. </script>
  17.  
  18. <body onload="updatenow()">
  19.  
  20. <form name="decime_date">
  21. Fecha : <input type="text" name="fechaa" size="10">
  22. <br>
  23. Hora : <input type="text" name="hora" size="10">
  24. </form>
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Publicidad

Re: Fecha y hora

Notapor explorer » 2013-02-05 11:29 @520

El problema es que cuando se ejecuta el código Javascript, el navegador todavía no ha terminado de cargar el resto de la página, así que el código no sabe qué es decime_date.

La solución es ejecutar el código después de la carga de todo el HTML, poniendo el código JavaScript al final, o haciendo que se ejecute en el onload:

Lo ves fácil si sacas la ventana del depurador de JavaScript.

Un detalle: el segundo parámetro de setTimeout no son segundos, sino milésimas de segundo, así que si quieres que se actualice cada segundo debes poner el valor de 1000. Si no lo haces, estarás quemando la CPU :)

Sintáxis: [ Descargar ] [ Ocultar ]
Using html4strict Syntax Highlighting
  1. <html>
  2. <head>
  3. <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  4. <script language="JavaScript">
  5.     function arranque() {
  6.         var fecha = new Date();
  7.  
  8.         var dia = fecha.getDate();
  9.         var mes = fecha.getMonth() + 1;
  10.         var anio = fecha.getFullYear();
  11.  
  12.         document.decime_date.fechaa.value = dia+"/"+mes+"/"+anio;
  13.  
  14.         updatenow();
  15.        
  16.     }
  17.  
  18.     function updatenow() {
  19.  
  20.         tiempo = new Date()
  21.  
  22.         document.decime_date.hora.value = tiempo.getHours()+":"+tiempo.getMinutes()+":"+tiempo.getSeconds();
  23.  
  24.         setTimeout("updatenow()",1000)
  25.  
  26.     }
  27.  
  28. </script>
  29. </head>
  30. <body onload="arranque()">
  31.  
  32. <form name="decime_date">
  33. Fecha : <input type="text" name="fechaa" size="10">
  34. <br>
  35. Hora : <input type="text" name="hora" size="10">
  36. </form>
  37. </body>
  38. </html>
  39.  
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Fecha y hora

Notapor BigBear » 2013-02-05 11:34 @523

Ok , ya había actualizado el mensaje con el código resuelto pero gracias por la explicación. Veré si tengo tiempo y mejoro el código con el tuyo.
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Re: Fecha y hora

Notapor BigBear » 2013-02-08 13:02 @585

Perdón por el doble mensaje pero me pasa algo raro con el reloj terminado porque lo tengo en un index y cuando cargo el index varias veces todo bien pero cuando cargo alguna opción como index.php?id=1 el reloj no se termina de cargar nunca. Después cargo el index solo de nuevo y anda lo más bien.

¿ alguien sabe cómo solucionar eso ?

Nota: eso solo pasa en Google Chrome; en Firefox no pasa.
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818


Volver a JavaScript

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron