![Pensando](http://static.forosdelweb.com/fdwtheme/images/smilies/scratchchin.gif)
Hola, les pido que me ayuden a solucionar un problema, pero para que me comprendan primero explico:
Tengo fechas en el siguiente formato:
AAAASSD
donde:
AAAA = año 2003
SS = semana 04
D = dia de la semana 3 (miercoles)
Necesito convertirlas a formato común:
2003043 --> 22/01/2003
El año pasado me basé en unas funciones que encontre en los comentarios del manual oficial de php y esto me funcionó:
Código PHP:
<?
/* recibe parametros semana y dia (1=lunes, 7=domingo)
* obtiene un timestamp a partir de ello.
*/
function wday($wkno,$xday) {
define ("DAY", "86400"); // segundos en 1 dia
define ("WEEK", "604800"); // segundos en 1 semana
define ("SO_DAY", $xday); //ejm: 6 es sabado
$t = time(); //timestamp actual
$dx = date("w"); //dia de la semana actual
$woy = exec('date +%U'); // obtiene semana actual.
// sé que puedo reemplazarlo
// por date("W") ;)
$woy+=1;
$t += (((SO_DAY - $dx) * DAY) + (($wkno - $woy) * WEEK));
return $t;
}
// asi uso la funcion...
$fecha= date('d/m/Y',wday(4,3));
echo $fecha;
?>
El problema es que la función no pregunta año y asume el año actual. Ahora que ha pasado el tiempo ya tengo información tanto del 2002 como del 2003 y tengo problemas porque las consultas a fechas del año pasado me resultan en fechas de este año, es decir, si busco: 2002531 (correspondiente al lunes 30 de diciembre del 2002) me devuelve 30/12/2003