Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre confirmé
    Obtenir la date du 1er jour d'une semaine (lundi) et du vendredi à partir du n° de semaine
    bonjour,


    J'ai une variable qui contient numéro de semaine et une autre pour l'année (norme FR ISO8601). Cette semaine est par exemple la n°38 année 2020 et elle va du lundi 14 septembre 2020 au dimanche 20 septembre 2020.

    Je souhaite obtenir à partir de cette variable la date du lundi et du vendredi concernés par ce n° de semaine.
    Visiblement la fonction JS pour créer une date à partir du n° de semaine n'existe pas, du coup je bloque... je ferai bien juste une addition mais il faudrait alors gérer les années bissextiles aussi..., sans parler du cas de la fin d'année...
    Cela n'est-il pas possible avec jquery ? peut-être qu'ils ont déjà intégré cette fonction dans leur librairie ?

    est-ce que vous auriez une piste ou une fonction toute faite par exemple :
    lundi = 1er_jour_semaine(numero,annee);
    vendredi = 5eme_jour_semaine(numero,annee);

    D'avance, merci bcp pour la lecture, et éventuellement pour la réponse ou la piste...

    ps :
    avant de poser la question, j'ai cherché sur https://javascript.developpez.com/te...ces-JavaScript mais je n'ai rien trouvé....
    une petite rubrique "fonctions pratiques" sur les dates serait sympa là-bas...

  2. #2
    Rédacteur/Modérateur

    Regarde du coté d'un petite lib bien pratique qui s'appelle monent.js je pense que tu y trouveras ton bonheur
    https://momentjs.com/docs/#/customization/dow-doy/
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

    réalisations :www.oxygen-translations.fr|www.saftair.fr| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  3. #3
    Membre expert
    si tu ne veux pas utiliser de librairie externe
    (et pour le challenge ^^)

    Code html :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <!doctype html>
    <html lang="fr">
    <head>
        <meta charset="UTF-8">
        <title>test date</title>
    </head>
    <body>
    </body>
    <script>
        Date.prototype.getWeek = function() {
            const firstDay = new Date(this.getFullYear(), 0, 1);
            return Math.ceil((((this - firstDay) / 864E5) + firstDay.getDay() + 1) / 7);
        }
     
        const now = new Date();
        let div = document.createElement('div');
        div.textContent = `numero de la semaine : ${new Date().getWeek()}`;
        document.body.appendChild(div);
     
        const tmp = now;
        const tmp2 = now;
     
        const monday = new Date(tmp.setDate(tmp.getDate() - tmp.getDay()%7 + 1));
        const friday = new Date(tmp2.setDate(tmp2.getDate() - tmp2.getDay()%7 + 5));
     
        console.log('lundi', monday);
        console.log('vendredi', friday);
     
        div = document.createElement('div');
        div.textContent = monday.toLocaleString('fr', {weekday: 'long', day: 'numeric'});
        document.body.appendChild(div);
     
        div = document.createElement('div');
        div.textContent = friday.toLocaleString('fr', {weekday: 'long', day: 'numeric'});
        document.body.appendChild(div);
    </script>
    </html>
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

###raw>template_hook.ano_emploi###