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

Articles tagués ‘timestamp’

PHP – tester si une date tombe un weekend

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

Suivre

Recevez les nouvelles publications par mail.

Rejoignez 295 autres abonnés