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

ASP.NET Discussion :

Les dates en asp (numero de semaine)


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 57
    Points : 53
    Points
    53
    Par défaut Les dates en asp (numero de semaine)
    Bonjour, dans une application web, j'ai besoin de connaitre les dates par rapport a un numéro de semaine. J'ai trouvé pas mal de fonctions sur des tutos

    Mais seulement je n'arrive pas du tout a utiliser ces fonctions

    c'elle la entre autres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <%=DatePart(periode,date1[,DoW[,WoY]]) %>
     
    # Periode peut prendre les valeurs : yyyy : année
    # q : trimestre
    # m : mois
    # y : jour de l'année
    # d : jour
    # w : jour de la semaine
    # ww : semaine
    # h : heure
    # n : minute
    # s : seconde
    Si vous avez une explication je suis preneur !

    Merci

  2. #2
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    j'ai besoin de connaitre les dates par rapport a un numéro de semaine
    ça m'étonnerais que tu puisse faire ça..

    Par contre l'inverse connaitre le numéro de semaine par rapport à une date c'est simple


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%=DatePart("ww",date1) %>

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 57
    Points : 53
    Points
    53
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%=DatePart("ww",date1) %>
    Mais si je colle ça, directement dans ma page *.aspx, il n'aime pas!

    Je vois pas ou mettre ce bout de code et comment récupérer ça valeur :/

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Points : 1 521
    Points
    1 521
    Par défaut
    ASP != ASP.NET

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 57
    Points : 53
    Points
    53
    Par défaut
    Ah ok,
    Il y a l'équivalent pour asp.net ?

  6. #6
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 137
    Points : 707
    Points
    707
    Par défaut
    Dans le code behind de ta page, tu peux essayer quelque chose comme tadate.ToString("ww");

    la variable tadate doit etre un type date (datetime)

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 57
    Points : 53
    Points
    53
    Par défaut
    DateTime.Now.ToString(); fonctionne, j'ai trouvé quelque exemple:

    http://www.csharpfriends.com/demos/system.datetime.aspx

    Mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateTime.Now.ToString("ww");
    ne fonctionne pas lui :/

  8. #8
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 137
    Points : 707
    Points
    707
    Par défaut
    Normalement dans le ToString() tu peux formater le texte que tu veux
    si tu mets ("dd/mm/yyyy") il te renverra la date de chez nous si tu fais
    ("mm/dd/yyyy") c'est à l'anglaise.

    http://authors.aspalliance.com/aspxt...meformats.aspx

    Après à savoir si tu peux récupérer le n° de la semaine, je ne crois pas que c'est possible.!!

  9. #9
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 137
    Points : 707
    Points
    707
    Par défaut
    A priori en passant par un calendrier c'est faisable:

    http://forums.asp.net/t/1198164.aspx

    Sinon tu écris ta propre méthode qui permet de récupérer ça.

  10. #10
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CultureInfo culture = CultureInfo.CurrentCulture;
    	int intWeek = culture.Calendar.GetWeekOfYear(dt, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
    	return intWeek;

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 57
    Points : 53
    Points
    53
    Par défaut
    Si par exemple je donne comme numéro de semaine: "11", et l'année 2008.

    Puis-je récupérer la date de début, éventuellement celle de fin(elle doit s'en déduire?) de cette semaine?

    ça serais exactement ce qu'il me faut.:/

    Merci d'avance

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 27
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    j'ai déjà eu quelque chose comme ça , et j'ai passé par une procédure stockée ,car avec transact sql c'est facile de récupérer le nombre de semaine d'une date spécifiée !!

    si t'a pas envie de passer par un calendrier ,je pense que c'est une bonne idée de passer par une procédure stockée , si tu travail bien sur avec base de donnée sql server !!

    comme exemple
    SELECT DATEPART(week, GETDATE()) AS 'Week Number'

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 27
    Points : 14
    Points
    14
    Par défaut
    je viens de relire ton poste , a mon avis je pense que c'est pas possible de savoir la date a partir d'un numero de semaine ,car une semaine contient 7 jours, et il faut fournir une information suplémentaire sur le jour concernné: le 1er jour, le 2eme .....

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 57
    Points : 53
    Points
    53
    Par défaut
    Ah

    Je viens de faire le bout de code que tu ma donnée, il marche parfaitement, je lui met une datetime en entré et il en sort le numero de semaine.

    Mais c'est vrai que c'est surtout l'inverse qui m'intéresse.

    Car dans un tableau, les gens rentre le numéro de la semaine et des information sur la semaine. Donc j'ai besoin de stocker la date au format jj:mm:aaaa hh:mm:ss dans la base.

    il y a pas de solution pour cela?

    PS: je me tente un petit algo la :/

    tant que monNumero de semaine n'est pas égale au numero de semaine
    +1 au numero semaine

    si egale, alors je recupere la date de la semaine...

    mais c'est de la grosse bidouille et pour le moment c'est juste sur papier

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 27
    Points : 14
    Points
    14
    Par défaut
    y'a une possibilité :


    essay ça :

    declare @nbweek int
    declare @diff int
    declare @date datetime

    set @diff = -@nbweek
    set @date=dateadd(week, @diff,Getdate())

    tel que @nbweek est le nombre de semaine que l'utilisateur a sélectinné

  16. #16
    Membre émérite
    Avatar de lakitrid
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    1 535
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 535
    Points : 2 388
    Points
    2 388
    Par défaut
    Tu peux construire la date au 1er janvier de l'année, tu utilise AddWeeks(n)
    Et après en utilisant GetDayOfWeek tu obtiens le jour de la semaine mais attention on a un DayOfWeek, hors cette énumération commence par le dimanche = 0.
    Mais en retirant un jour par un jour jusqu'à arriver au lundi tu peux t'en sortir assez vite.

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 27
    Points : 14
    Points
    14
    Par défaut
    sauf que ce code te retourne la date du meme jour en cours cad:

    si aujourd'hui c'est le vendredi il va te retourner la date du vendredi de la semaine qui a sélectionnée l'utilisateur, donc il faut comme j'ai cité en haut specifier le jour de la semaine concernée, et apres de faire un dateadd(jour, @jour,Getdate()), tel que :
    @jour est le nombre de jour séparant le jour en cours et le jour spécifié par l'utlisateur !!!

    attention :

    si le jour spécifié par l'utilisateur est inferieur dans l'ordre au jour en cours il faut rajouter un (-) devant @jour ====> -@jour

  18. #18
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Alors
    déjà n'accorde aucune importance au message du genre "je crois pas que ce soit possible......."
    Les mecs qui répondent pour dire que c'est impossible, ca m a tjs bien fait rire

    Même si je pense que depuis, tu as dû trouver une solution, voila la mienne.

    (Admettons que l'on recherche la date du Lundi de la semaine 49)

    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
     
    int s = 49 - 1;//On enleve une semaine.
     
    //Le premier jour de l'année.
    DateTime dtPremierJourAnnee = new DateTime(2010, 1, 1);
     
    //Le nombre de jour de différence jusqu au Lundi.Si on est Dimanche, on oublie pas de le mettre à 7 (0 de base.)
    int jourPremierJourAnnee = (int)dtPremierJourAnnee.DayOfWeek == 0 ? 7 : (int)dtPremierJourAnnee.DayOfWeek;
     
    //On récupère le numéro de la semaine au 1/1/2009 (savoir si semaine 0 ou 1)
    int sPremierJourAnnee = CultureInfo.CurrentCulture.Calendar.GetWeekOfYear(dtPremierJourAnnee,CalendarWeekRule.FirstFourDayWeek,DayOfWeek.Monday);
     
     
    dtPremierJourAnnee = dtPremierJourAnnee.AddDays(1 + (sPremierJourAnnee!=1?7:0) - jourPremierJourAnnee);
     
    DateTime dtJour = dtPremierJourAnnee.AddDays(s*7);

    Voila voila. L'impossible n'est rien d'autre que l'expression de l'impuissance.

  19. #19
    Membre expérimenté Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut
    Voila un déterrage de topic fait au karcher. Le ton en est vraiment mordant, presque un peu suffisant par endroit...

  20. #20
    Membre régulier
    Femme Profil pro
    Consultante informatique décisionnelle et bases de données
    Inscrit en
    Décembre 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultante informatique décisionnelle et bases de données

    Informations forums :
    Inscription : Décembre 2007
    Messages : 82
    Points : 101
    Points
    101
    Par défaut
    J'ai trouvé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    label_NumSemaine.Text = Math.Round((CInt(CDate(Madate).DayOfYear)) / 7).ToString
    Je ne suis pas certaine que cela fonctionne dans tous les cas.
    Qu'en pensez-vous ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/04/2007, 13h43
  2. calcul de date à partir du numero de semaine
    Par @rkane dans le forum Access
    Réponses: 2
    Dernier message: 03/01/2007, 18h28
  3. Réponses: 3
    Dernier message: 07/08/2006, 11h01
  4. Réponses: 4
    Dernier message: 06/06/2006, 17h18
  5. Réponses: 10
    Dernier message: 20/09/2005, 16h32

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