Retour à la liste

TROUVER LES DATES DE DÉBUT ET DE FIN DE SEMAINE

Créé : 09.02.2017, 09:19:33  -  Modifié : 13.12.2017, 02:34:01
Vous souhaitez trouver les dates de début et de fin d’une semaine ? Voici la solution :
/**
 * Retourne les dates de début et fin de semaine (Lundi et Dimanche)
 * @param numeric $annee : numéro de l'année
 * @param numeric $semaine : numéro de la semaine
 * @param string $format : format des dates pour le retour
 */
function getWeekStartAndEnd($annee="", $semaine="", $format = 'Y-m-d') {
    $annee = (isset($annee) && !empty($annee)) ? $annee : date("Y");
    $semaine = (isset($semaine) && !empty($semaine)) ? $semaine : date("W");

    $dateObjet = new DateTime();
    $dateObjet->setISOdate($annee, $semaine);
    $dateDebut = $dateObjet->format($format);
    date_modify($dateObjet , '+6 day');
    $dateFin = $dateObjet->format($format);

    return array(
        "dateDebut" => $dateDebut,
        "dateFin" => $dateFin
    );
}

Quelques exemples d’appel de cette fonction :

getWeekStartAndEnd(date("Y"), date"W")); // Retourne le lundi et dimanche de la semaine courante au format MySql
getWeekStartAndEnd(date("Y"), date("W"), "d/m/Y"); // Retourne le lundi et dimanche de la semaine courante au format français
getWeekStartAndEnd(2016, 1); // Retourne les dates de la première semaine de Janvier 2016 au format MySql : 2016-01-04 et 2016-01-10
getWeekStartAndEnd(2016, 1, "d/m/Y"); // Retourne les dates de la première semaine de Janvier 2016 au format français : 04/01/2016 et 10/01/2016

Rendu :0.2382 | Mémoire :2.87MB

Accueil | Informations | Top