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

Windows Forms Discussion :

[C#] Comment récupérer le numéro de semaine d'une date ?


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 70
    Points : 45
    Points
    45
    Par défaut [C#] Comment récupérer le numéro de semaine d'une date ?
    Bonjour,

    Je voudrai savoir s'il existe une fonction permettant de récupérer le numéro de semaine d'une date.(et inversement)

    Merci.

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    Il me semble malheuresement que non, il va falloir que tu fasse le petit calcul à la main...

  3. #3
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 70
    Points : 45
    Points
    45
    Par défaut
    personne n'aurait un exemple??

    Merci

  4. #4
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut
    Fais une recherche avancée sur le forum .NET avec les mots clés numero semaine.
    Tu devrais avoir 2/3 résultats qui doivent pouvoir t'aider

  5. #5
    Invité(e)
    Invité(e)
    Par défaut
    on pourrait faire comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     System.DateTime nouvelAn = new DateTime(System.DateTime.Now.Year,1,1);
     
    int semaine = 2 + (System.DateTime.Now.DayOfYear - nouvelAn.DayOfWeek ) / 7;
    après, il faut savoir comment tu comptes la première semaine.

  6. #6
    Membre régulier Avatar de dupin40
    Profil pro
    Inscrit en
    Août 2003
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 102
    Points : 100
    Points
    100
    Par défaut
    ce sujet est vieux comme le monde ...
    directement on ne peut pas le trouver (pas de methode appropriée), seul le calcul peut permettre de trouver
    exemple ici : http://www.developpez.net/forums/viewtopic.php?t=211285

  7. #7
    Inscrit

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Points : 1 229
    Points
    1 229
    Par défaut
    En fait, toute la difficulté réside en la détermination de la semaine numéro 1...

    ISO a édicté des recommandations, mais évidemment les américains calculent à leur manière...

    Notons quand même au passage qu'une recherche sur google te retourne environ 12^32 articles sur la question.

  8. #8
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 70
    Points : 45
    Points
    45
    Par défaut
    merci à tous les deux, je vais regarder tout ça

  9. #9
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    heureusement qu'il y a un framework complet pour ne pas avoir à tout réinventer à chaque fois

    Pour trouver le numéro de semaine d'une date il suffit d'utiliser un gregorian calendar

    System.Globalization.Calendar calendrier = new System.Globalization.Calendar();
    int currentWeek = calendrier.GetWeekOfYear(new DateTime(year,month,day),System.Globalization.CalendarWeekRule.FirstFourDayWeek,DayOfWeek.;


    Le mode de calcul pour la france (là faudra quand même vérifier ) est de considérer la première semaine de l'année (semaine n° 1) comme étant la première semaine contenant 4 jours dans l'année. Ainsi le premier j'anvier n'est pas forcément dans la semaine 1 il peut être dans la semaine 52 de l'année précédente.

  10. #10
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 354
    Points : 593
    Points
    593
    Par défaut
    Moi je passe par une requete à mon sqlserver qui gère tout ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    numeroDeSemaine = select datepart(iso_week, maDate);

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

Discussions similaires

  1. [XL-2003] Récupérer le numéro de semaine d'une date
    Par tools dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/04/2011, 21h28
  2. [AC-2003] Récupérer le numéro de semaine sur une date
    Par Snow06 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 21/09/2010, 16h18
  3. Comment récupérer le numéro de série d'une imprimante ?
    Par masterx_goldman dans le forum Windows
    Réponses: 0
    Dernier message: 29/04/2010, 13h30
  4. Réponses: 3
    Dernier message: 01/02/2008, 15h07
  5. Réponses: 2
    Dernier message: 12/09/2006, 17h48

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