Hola gente,
Tengo un problema con el objeto
Date de
Javascript.
Contexto: Necesito iniciar un objeto
Date con un
String para obtener la hora del servidor. Estoy trabajando con
PHP, lo que hago pues es algo similar a:
Código PHP:
Ver original<script>
var today = new Date("
<?= date('c') ?>");
</script>
Esto lo que genera es:
Código Javascript
:
Ver originalvar today = new Date("2014-02-09T21:45:34+01:00");
El problema está en que le objeto el día es 0, mes, año, hora, minutos y segundos funcionan correctamente.
Sin embargo, como trabajo en local, cambio la hora de mi pc a 16 de Enero del 2014 por ejemplo, y ahora el objeto
Date tiene el día 5
Obviamente lo que quiero es que salga el día que toca. He probado varios formatos distintos de fecha para el constructor, en concreto los que salen en los ejemplo de
aquí y otros que me he inventado y siempre es el mismo el resultado.
Soy consciente de que podría pasarle los parámetros año, mes, día, etc. de uno en uno, pero es mucho más incómodo desde
PHP. Pero soy un cabezón y quiero saber porqué pasa lo que pasa.
¿Qué estoy haciendo mal?
SOLUCIÓN
Mira que he estado una hora buscando la solución antes de postear esto, la solución es bien simple:
Con día me refería a lo que devuelve el método
getDay(), y me ha dado por mirar en
w3schools y he descubierto que me devuelve el día si, pero el ¡día de la semana! facepalm, pues nada lo único que hay que usar es el método
getDate() para obtener el día del mes (se han lucido con los nombres de los métodos -.-).
http://www.w3schools.com/jsref/jsref_obj_date.asp
Perdón las molestias.
Espero que le sirva a alguien.