Me he encontrado con un problema interesante al utilizar la función date()
de PHP. No he tenido la suerte de encontrar una discusión sobre esto en SO o usando Google, pero tal vez alguien más haya tenido el mismo problema antes?Obteniendo el año y la semana del año desde la fecha de PHP() cuando la semana abarca dos años
Estoy tratando de obtener el AÑO y la SEMANA DEL AÑO para una fecha y hora determinada. Este es el código que estoy utilizando:
date("Y-\WW");
que da salida a partir de hoy correctamente: 2011-W39
.
El problema es cuando se suministra una marca de tiempo, si la marca de tiempo en cuestión es, por ejemplo, el 3 de enero de 2011 (que en realidad era parte de la "52ª semana de 2010." PHP devuelve W52 correctamente, pero también devuelve 2011 como el año, en lugar de 2010.
date("Y-\WW", 1294016400);
Salidas: 2011-W52
Cualquier idea sobre cómo solucionar este problema que debe tener en cuenta que, si bien en este caso sería fácil simplemente comparar eso? el strtotime()
de la salida es mayor que elactualy ajustar, pero necesito una solución que funcione también para años anteriores (p. si lo mismo sucedió el 3 de enero de 2010).
Acabo de probar [ 'date ("Y- \ WW", 1294016400)' en Ideone y consigo '2011-W01 '] (http://ideone.com/HWyeo). – JRL
Puede ser una zona horaria o una configuración regional. He respondido la pregunta a continuación, debería haber estado usando el recién agregado 'o' en lugar de' Y'. –