Non sono uno sviluppatore professionista e quando mi trovo difronte ad un muro me la cavo con i 'sotterfugi'
Quello che vorrei sapere da tutti voi GURU... possibile che alla versione 5 o più del PHP non esistono funzioni "funzionanti!" per gestire le date ed i calcoli su di esse?
Quello che dovevo ottenere era:
da una data qualsiasi ottieni il lunedi della stessa settimana.
Io ci sono riuscito cosi:
ma c'era un metodo più veloce?
Quello che vorrei sapere da tutti voi GURU... possibile che alla versione 5 o più del PHP non esistono funzioni "funzionanti!" per gestire le date ed i calcoli su di esse?
Quello che dovevo ottenere era:
da una data qualsiasi ottieni il lunedi della stessa settimana.
Io ci sono riuscito cosi:
PHP:
<?php
// recupero id dell'agente e giorno dall'url e trovo il lunedi
$id = $_GET['id'];
$giorno = $_GET['giorno'];
//$g giorno $m mese $a anno
list($g, $m, $a) = explode('/',$giorno);
$unixd = mktime(0, 0, 0, $m, $g, $a);
//giorno della settimana $gset
$gset=date('w', $unixd);
if ($gset == "0") {
$gset = "7";
}
$gset = $gset - 1;
// cerco lunedi... se $g-$gset>0 non devo fare altro
$gver = $g - $gset;
if ($gver>0) {
$gl = $gver;
$ml = $m;
$al = $a;
}
else
{
// giorni del mese $ngm precedente
if ($m>1){
$ml = $m-1;
$unixd = mktime(0, 0, 0, $ml, $g, $a);
$ngm = date('t', $unixd);
$gl = $g + $ngm - $gset;
$al = $a;
}
else {
$al=$a-1;
$ml = "12";
$unixd = mktime(0, 0, 0, $ml, $g, $al);
$ngm = date('t', $unixd);
$gl = $g + $ngm - $gset ;
}
}
$lunedi = $al."-".$ml."-".$gl;
$lunedit = $gl."/".$ml."/".$al;