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

VB.NET Discussion :

VB.net numero de semaine vers date du lundi correspondant [Débutant]


Sujet :

VB.NET

  1. #1
    Membre averti
    Homme Profil pro
    Responsable Maintenance
    Inscrit en
    Août 2012
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable Maintenance

    Informations forums :
    Inscription : Août 2012
    Messages : 478
    Points : 442
    Points
    442
    Par défaut VB.net numero de semaine vers date du lundi correspondant
    Bonjour,
    Je fais un petit soft pour faire des mise en formes automatiques de fichiers.
    Je bute juste sur un petit soucis , je récupère des numéros de semaines et je dois retourner la date du lundi correspondant.
    Il existe bien Weekday qui me fait la fonction inverse. Mais je ne sais pas si il existe une fonction methode de le faire dans le sens inverse.
    Si quelqu'un a une idée ou une compétence en la matière.
    Merci

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour
    En cherchant sur le net on trouve le code suivant (c'est du C# mais tu pourras aisément traduire) :

    Code : 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
     
    public static DateTime FirstDateOfWeekISO8601(int year, int weekOfYear)
            {
                DateTime jan1 = new DateTime(year, 1, 1);
                int daysOffset = DayOfWeek.Thursday - jan1.DayOfWeek;
     
                DateTime firstThursday = jan1.AddDays(daysOffset);
                var cal = CultureInfo.CurrentCulture.Calendar;
                int firstWeek = cal.GetWeekOfYear(firstThursday, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
     
                var weekNum = weekOfYear;
                if (firstWeek <= 1)
                {
                    weekNum -= 1;
                }
                var result = firstThursday.AddDays(weekNum * 7);
                return result.AddDays(-3);
            }

  3. #3
    Membre averti
    Homme Profil pro
    Responsable Maintenance
    Inscrit en
    Août 2012
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable Maintenance

    Informations forums :
    Inscription : Août 2012
    Messages : 478
    Points : 442
    Points
    442
    Par défaut
    Au final j'ai trouvé un moyen en cherchant sur le net et adaptant un code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Public Function DateSemaine!lundi(byval Annee as long, byval , Nsemaine as integer) as date
    Dim semaine as integer = 0
    dim Datecal as date = convert.toDateTime("01/01/" & cstr(annee))
      While Semaine<>Nsemaine
         DateCal=Datecal.AddDays(1)
          semaine= invariantculture.calendar.GetWeekofYear(Datecal,Globalization.calendarWeekRule.firstFourDayWeek,DayofWeek,Monday)
    end while
    dateSemaineLundi=DateCal
    ca fonctionne cela me renvoi la date du lundi d'une semaine donnée d'une année donnée
    je mets en resolu

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

Discussions similaires

  1. [VB.Net] Obtenir une date à partir d'un numero de semaine
    Par tonysky dans le forum Windows Forms
    Réponses: 4
    Dernier message: 03/01/2007, 08h57
  2. Réponses: 3
    Dernier message: 07/08/2006, 10h01
  3. Réponses: 4
    Dernier message: 06/06/2006, 16h18
  4. [Dates] Numero de semaine ISO et dates ??
    Par MadCat34 dans le forum Langage
    Réponses: 9
    Dernier message: 19/11/2005, 00h00
  5. Réponses: 10
    Dernier message: 20/09/2005, 15h32

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