Foros del Web » Programando para Internet » Javascript »

date() me da problemas en Firefox y Safari [en chrome va bien]

Estas en el tema de date() me da problemas en Firefox y Safari [en chrome va bien] en el foro de Javascript en Foros del Web. Buenas! Tengo un problema a la hora de manejar fechas, y ese problema son dos navegadores : firefox y safari. Chrome me ejecuta correctamente lo ...
  #1 (permalink)  
Antiguo 11/08/2014, 17:08
Avatar de Albuss  
Fecha de Ingreso: enero-2012
Ubicación: Coruña
Mensajes: 475
Antigüedad: 12 años, 3 meses
Puntos: 30
Pregunta date() me da problemas en Firefox y Safari [en chrome va bien]

Buenas!

Tengo un problema a la hora de manejar fechas, y ese problema son dos navegadores : firefox y safari.

Chrome me ejecuta correctamente lo que quiero hacer , simplemente lo que hago es crear una nueva variable usando new Date() pasandole como argumento una fecha (en array) que recibo desde una base de datos mySQL en formato : "1975-01-01 00:00:01"

codigo :

Código Javascript:
Ver original
  1. var array = respuestaDB[0]; // esto tiene el valor de : "2014-08-10 22:54:37"
  2. var fecha = new Date(array);

en crhome no me da ningun problema y si hago un console.log() a la variable fecha, me devuelve : Sun Aug 10 2014 22:54:37 GMT+0200 (Hora de verano romance)

en cambio tanto en Safari como en Firefox, al intentar new Date(array) , me devuelve ERROR , ¿por que?
  #2 (permalink)  
Antiguo 11/08/2014, 17:32
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: date() me da problemas en Firefox y Safari [en chrome va bien]

buenas,
no se si esto ha cambiado en las últimas versiones del estándar... pero si tengo conocimiento de que la implementación del objeto Date no está estandarizado cuando se trata de crear un objeto Date a partir de un string como ese. es decir, cada navegador define como interpretar la fecha cuando el argumento es de tipo string. por lo que expones, parece que no ha cambiado nada en ese aspecto. la solución más eficaz es decomponer el string y pasar cada argumento al constructor. o más fácil, utilizar el timestamp en lugar de obtener el string.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 11/08/2014, 17:37
Avatar de Albuss  
Fecha de Ingreso: enero-2012
Ubicación: Coruña
Mensajes: 475
Antigüedad: 12 años, 3 meses
Puntos: 30
Respuesta: date() me da problemas en Firefox y Safari [en chrome va bien]

Cita:
Iniciado por zerokilled Ver Mensaje
buenas,
no se si esto ha cambiado en las últimas versiones del estándar... pero si tengo conocimiento de que la implementación del objeto Date no está estandarizado cuando se trata de crear un objeto Date a partir de un string como ese. es decir, cada navegador define como interpretar la fecha cuando el argumento es de tipo string. por lo que expones, parece que no ha cambiado nada en ese aspecto. la solución más eficaz es decomponer el string y pasar cada argumento al constructor. o más fácil, utilizar el timestamp en lugar de obtener el string.
Es que directamente es el valor que me decuelve la consulta SQL del valor date de la tabla de la base de datos.

perdona, pero no entiendo eso que dices de descomponer el string y pasarle cada valor de forma independiente al Date(), ¿como? ,a que te refieres.

PD. uso CURRENT_TIMESTAMP para fijar el valor de la fecha en l DB, y es ese registro :" 0001-01-01 00:00:01"

Última edición por Albuss; 11/08/2014 a las 17:48
  #4 (permalink)  
Antiguo 11/08/2014, 18:54
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: date() me da problemas en Firefox y Safari [en chrome va bien]

de SQL desconozco porque no lo manejo. a mi entender tienes que pasar ese campo por UNIX_TIMESTAMP() para que te devuelva un timestamp en milisegundos. la decomposición del string no es nada mas que devidir la cadena por sus partes: año, mes, dia, etc. simplemente podrias hacer algo como array = array.split(/[\s:\-]/) y luego invocas Date pasando cada índice como argumento: Date(array[0], array[1]-1, array[2], ..., array[i])
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: fecha
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:42.