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

WinDev Discussion :

Numéro de semaine du mois en cours [WD20]


Sujet :

WinDev

  1. #1
    Invité
    Invité(e)
    Par défaut Numéro de semaine du mois en cours
    Bonjour,
    y aurait-il une fonction wlangage déjà existante qui permettrait de connaitre le numéro de semaine du mois en cours, tout en respectant la norme iso 8601?
    Les fonctions NuméroDeSemaine et DateVersNuméroDeSemaine retournent le numéro de semaine de l'année en cours.

    Merci

  2. #2
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 392
    Points
    9 392
    Par défaut
    Regarde l'aide de la fonction NumeroDeSemaine(), tu devrais trouver ton bonheur.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Au niveau du format, on peut passer iso8601 mais je ne vois rien par rapport au mois en cours.

  4. #4
    Membre émérite
    Femme Profil pro
    .
    Inscrit en
    Janvier 2012
    Messages
    998
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : .
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 998
    Points : 2 524
    Points
    2 524
    Par défaut
    Numéro de semaine c'est part rapport à l'année.
    Pour savoir si c'est la 2ème semaine du mois faut coder un peu, non ?
    Mais si le 1er jour du mois est un dimanche, c'est la première semaine du mois ?
    Donc dans ton algo tu adaptes à la norme choisie.
    Et voilà.

  5. #5
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 392
    Points
    9 392
    Par défaut
    Je viens de lire la page Wikipédia sur la norme Iso8601 ; je ne vois pas trace d'un numéro de semaine dans le mois.
    Si c'est réellement cela ton besoin (je t'invite à vérifier auprès de ton client), alors bâtis une fonction toi-même. La difficulté n'est pas sur le plan informatique. La difficulté va être de définir cette norme.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  6. #6
    R&B
    R&B est déconnecté
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2005
    Messages : 571
    Points : 1 263
    Points
    1 263
    Par défaut
    Bonjour

    @Romulus
    Si tbc92 est tombé à coté, il vous fallait apporter plus de précision... c'est pas à lui de faire l'effort.

    Vous semblez entendre pas n° de semaine du mois le fait qu'il y ai 4.33 semaines dans le mois et que le 01 du mois est en semaine 1, le 08 en semaine 2 etc.

    Si WinDev ne le fait pour vous (chose rare mais encore possible), il faut s'y coller :
    Remonter au premier du mois et faire quelques menus calculs...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ld_Aujourdhui est une date = DateDuJour()
    ld_Premier est une date = ld_Aujourdhui
    ld_Premier..jour=1 // là on est au premier
    ln_Jours est un entier = DateDifférence(ld_Premier,ld_Aujourdhui) // Nombre de jours écoulés depuis le premier
    ln_SemaineDuMois est un entier = PartieEntiere(ln_Jours/7) // tadaaaa
    Info("Semaine du mois pour aujourd'hui : " + ld_Aujourdhui..annee + ld_Aujourdhui..mois + "-" + ln_SemaineDuMois)
    ps : Ce code est donné directement sans évaluation et vous avez consommé votre cookie de facilité.

    Edit : la demande précide "DU MOIS" et non de l'année, je pense que la norme est hors sujet de la présente demande. (vote négatif = dommage)

  7. #7
    Membre émérite
    Femme Profil pro
    .
    Inscrit en
    Janvier 2012
    Messages
    998
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : .
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 998
    Points : 2 524
    Points
    2 524
    Par défaut
    Caractéristiques des semaines selon la norme ISO 8601

    Une semaine commence un lundi et se termine un dimanche.
    Pour les premiers jours de l'année :

    •La semaine 1 est celle qui contient le premier jeudi de l'année.
    •La semaine 1 est la première à contenir la majorité de ses jours (au moins 4 jours) dans l'année. Elle contient systématiquement le 4 janvier. Elle contient systématiquement le premier jour ouvré de l'année en considérant que le 1er janvier, les samedis et les dimanches sont chômés. C'est aussi celle dont le lundi est le plus proche du jour de l'an. Elle commence au plus tôt le 29 décembre ou au plus tard le 4 janvier.
    •La dernière semaine de l'année (52 ou 53) est celle qui contient le dernier jeudi de l'année. Elle est la dernière à avoir la majorité de ses jours (au moins 4) dans l'année et contient systématiquement le 28 décembre. C'est aussi celle dont le dimanche est le plus proche du 31 décembre. Elle termine au plus tôt le 28 décembre ou au plus tard le 3 janvier.
    •Il n'y a pas de semaine zéro (la semaine 1 d'une année suit immédiatement la dernière semaine de l'année précédente).
    •Les premiers jours de la semaine 1 peuvent éventuellement être situés fin décembre de l'année précédente. De même, la dernière semaine (52 ou 53) d'une année peut avoir ses derniers jours au tout début de l'année suivante. Une année comporte toujours soit 52, soit 53 semaines au total.

  8. #8
    Invité
    Invité(e)
    Par défaut
    Si ça se trouve, ça doit être faisable avec ce genre de code (non testé!) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateVersNuméroDeSemaine (DateDuJour)-DateVersNuméroDeSemaine (PremierJourDuMois)
    Sinon, j'ai pu faire une fonction à ma façon, je récupère bien ce que je voulais, je voulais par exemple que pour aujourd'hui, 12/05/2015, j'arrive à dire qu'il s'agit de la semaine 2 du mois (je considère que la 1ere semaine du mois en cours doit être un lundi).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recuperer la semaine, le mois en cours
    Par Isa-Bella dans le forum Langage SQL
    Réponses: 13
    Dernier message: 03/02/2010, 13h35
  2. Semaine dernière, mois en cours.
    Par cLaSic dans le forum Requêtes
    Réponses: 14
    Dernier message: 02/03/2009, 11h19
  3. Récupération d'un numéro de semaine du mois
    Par hamida sara dans le forum Composants VCL
    Réponses: 1
    Dernier message: 11/10/2008, 18h13
  4. Numéro de semaine qui donne le mois
    Par Invité dans le forum Excel
    Réponses: 5
    Dernier message: 11/04/2007, 14h32
  5. Réponses: 6
    Dernier message: 01/03/2007, 13h57

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