blog sur le développement web, jquery,css3, Magento, Symphony, php et bien d'autres choses

voici comment tester si une date que vous devez manipuler en php tombe en plein week end.

Pour ma part ce code m’a été utile lors de l’enregistrement de commandes au japon. En effet pour la petite histoire, au japon, si vous commandez le matin, vous recevez votre commande l’apès midi.

ainsi le code suivant récupère le timestamp d’une date. si la commande est passé avant midi je retourne la date du jour, si la commande est passé après midi, la date est celle du lendemain. et si le jour d’après tombe un week end on renvoit la date du lundi suivant.

$laDateATester;
$laDateFinale = testeurDeDate($laDateATester);
function testeurDeDate($orderDate)
{       
        $localeTimestamp = time();
        $timestamp = strtotime($orderDate);
        
        if (date('H', $localeTimestamp) < 12) {
            return $orderDate;
        } else {
            // after 12h we add 1 day to the delivery date
            $timestamp += 86400;
            //we check with the following function 
 //that the new day is not in week end
            $timestamp = checkWeekEnd($timestamp);
            $newDateToFormat = date('Y/m/d', $timestamp);
            return $finalDate = str_replace('/', '', $newDateToFormat);
        }

}

// la partie qui nous interesse vraiment
//dans cet article se situe ici

function _checkWeekEnd($timeStamp)
{
$day = date(‘l’,$timeStamp);

switch($day) {
case ‘Saturday’:
return $timeStamp += 172800;
break;
case ‘Sunday’:
return $timeStamp +=86400;
break;
default:
return $timeStamp;
break;
}
}

vous trouverez aussi sur ce block l’article qui explique comment voir si une date php est antérieure à une autre

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s