Foros del Web » Programando para Internet » Javascript »

Hora y fecha con JavaScript

Estas en el tema de Hora y fecha con JavaScript en el foro de Javascript en Foros del Web. Hola a todos. Antes que nada, aclaro que soy completamente nuevo en JS y es el código de abajo es el primero que manejo con ...
  #1 (permalink)  
Antiguo 12/05/2009, 14:04
 
Fecha de Ingreso: julio-2008
Ubicación: Córdoba, Argentina
Mensajes: 266
Antigüedad: 15 años, 9 meses
Puntos: 26
Hora y fecha con JavaScript

Hola a todos.
Antes que nada, aclaro que soy completamente nuevo en JS y es el código de abajo es el primero que manejo con el mismo, además tengan en cuenta que no conozco a fondo ningún lenguaje como este. Otra cosa: he leído los artículos de la wiki que se listan en el FAQ sobre la fecha y hora en JS (es decir, aquí) pero todavía tengo problemas. Destaco también que me he basado en ejemplos que vi en la web para armar el script.
Pasando a lo importante: el tema es que quiero colocar dentro de una tabla en mi web la fecha y hora con este formado:
Código:
12/05/2009
04:53 p.m.
...y que la misma se actualize cada 1 segundo. El código que he armado es este:
Código javascript:
Ver original
  1. <div align="center">
  2. <script language="javascript">
  3. function actualizar(){
  4. hora = new Date()
  5. var dia = hora.getDate();
  6. var mes = hora.getMonth();
  7. var anio = hora.getFullYear();
  8. horas = hora.getHours()
  9. minutos = hora.getMinutes()
  10. segundos = hora.getSeconds()
  11. if (mes <= 9) mes = "0" + mes
  12. if (horas >= 12) tiempo = " p.m."
  13. else tiempo = " a.m."
  14. if (horas > 12) horas -= 12
  15. if (horas == 0) horas = 12
  16. if (minutos <= 9) minutos = "0" + minutos
  17. if (segundos <= 9) segundos = "0" + segundos
  18. document.write(dia +"/"+ (hora.getMonth() + 1) +"/"+ anio + '<br />' + horas + ":" + minutos + ":" + segundos + tiempo);
  19. setInterval("actualizar()",1000)
  20. }
  21. window.onload=actualizar
  22. </script>
  23. </div>
El problema es que al colocar window.onload=actualizar sólo veo la fecha y hora, pero nada de la tabla de la página, y si lo saco, la hora no aparece.
Otro problema que tengo es que el mes y hora, cuando son menores a 10, no se muestran con el 0 adelante a pesar de que yo lo especifiqué (if (mes <= 9) mes = "0" + mes). No sé si es tema del navegador que lo interpreta igualmente así o hay algo que hago mal.
Me gustaría que además de ayudarme a lograr eso, me remarcaran todos los errores que noten en el código para que pueda aprender mejor sobre este lenguaje.
Saludos a todos y gracias por adelantado.

Última edición por RabidFish; 12/05/2009 a las 14:19
  #2 (permalink)  
Antiguo 12/05/2009, 14:09
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Hora y fecha con JavaScript

El problema es que estás usando document.write() para imprimir la fecha. Lo cual va a hacer que se borre toda la página al hacer sucesivas llamadas. Puedes usar document.getElementById() para obtener un elemento (por ejemplo, una celda de la tabla) con el id especificado y usar la propiedad innerHTML para colocar dentro ese texto.

El problema con el mes es que no estás usando la variables mes a la hora de imprimir, sino usas hora.getMonth() nuevamente.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 12/05/2009, 14:18
 
Fecha de Ingreso: julio-2008
Ubicación: Córdoba, Argentina
Mensajes: 266
Antigüedad: 15 años, 9 meses
Puntos: 26
Respuesta: Hora y fecha con JavaScript

Todo solucionado, gracias por la ayuda.

Última edición por RabidFish; 13/05/2009 a las 11:02
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 03:08.