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

C# Discussion :

[Date] - Numéro du jour de la semaine selon la culture


Sujet :

C#

  1. #1
    Membre régulier Avatar de Anto03
    Inscrit en
    Octobre 2005
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 155
    Points : 87
    Points
    87
    Par défaut [Date] - Numéro du jour de la semaine selon la culture
    Bonjour à tous !

    Je cherche juste à récupérer le numéro du jour de la semaine selon la culture de l'utilisateur ! Je pensais que c'était très simple mais ce code ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CultureInfo.CurrentCulture.DateTimeFormat.Calendar.GetDayOfWeek(date) // = Monday
    (int)CultureInfo.CurrentCulture.DateTimeFormat.Calendar.GetDayOfWeek(date) ' = 2
    Or Lundi = 2 dans la culture anglaise (le 1er jour de la semaine est le samedi pour eux). Je cherche donc à récupérer 0 ! Puisque en France le premier jour de la semaine c'est lundi

    je ne trouve pas la façon de faire, et je suis sûr que c'est devant mes yeux !

    Merci de votre aide !
    Antony, développeur .Net
    http://www.flecheinthepeche.fr/blog/

  2. #2
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Ton cast convertit la valeur d'une enum (qui est de type System.DayOfWeek) en entier. Or la valeur de chaque élément d'une enum est constante, et ne saurait donc changer en fonction d'une culture.

    Ton problème devient donc : à partir d'un DayOfWeek, comment connaître le numéro de ce jour pour une culture donnée ?
    Et là, boum : CultureInfo a une propriété DateTimeFormat, qui elle même a un FirstDayOfWeek.
    Tu fais la différence entre les deux, un modulo 7 pour rester entre 0 et 6, et voilà
    ಠ_ಠ

  3. #3
    Membre régulier Avatar de Anto03
    Inscrit en
    Octobre 2005
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 155
    Points : 87
    Points
    87
    Par défaut
    Oui j'avais remarqué que c'était juste un enum. Du coup je cherchais une méthode avec cette signature : "int GetWeek(date DateTime)".

    Je pensais que le boulot serais déjà fait, vu le nombre dé méthodes déjà existante ! Bref, je te remercie beaucoup pour ta réponse en tout cas, je vais faire ma petite méthode avec FirstDayOfWeek !

    C'est vraiment pratique ces forums .Net, qu'est ce que je ferais sans vous ?
    Antony, développeur .Net
    http://www.flecheinthepeche.fr/blog/

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

Discussions similaires

  1. Date, jour de la semaine selon la langue
    Par jamesleouf dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 28/10/2010, 11h12
  2. [Toutes versions] dates : numéros des jours en fonction du numéro de semaine ?
    Par krakov dans le forum VBA Access
    Réponses: 3
    Dernier message: 29/04/2009, 14h13
  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