IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

JavaScript Discussion :

Obtenir la date du 1er jour d'une semaine (lundi) et du vendredi à partir du n° de semaine


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 386
    Points : 859
    Points
    859
    Par défaut 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

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    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 !

  3. #3
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 451
    Points : 4 600
    Points
    4 600
    Par défaut
    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 !

Discussions similaires

  1. Obtenir les dates du 1er/2em/dernier jour du mois
    Par xunil2003 dans le forum Général Python
    Réponses: 3
    Dernier message: 10/09/2015, 19h50
  2. [Dates] Comment obtenir le premier jour d'une semaine ?
    Par damien.vinouze dans le forum Langage
    Réponses: 8
    Dernier message: 09/05/2007, 08h26
  3. Réponses: 7
    Dernier message: 31/07/2006, 13h50
  4. Réponses: 7
    Dernier message: 05/04/2006, 11h22
  5. Réponses: 14
    Dernier message: 30/12/2005, 19h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo