recupération du numéro de semaine

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

recupération du numéro de semaine

Messagepar polo-bis » 12 Sep 2003 à 08:53

Bonjour à tous,Quelqu'un saurait -il comment récupérer le numéro de semaine à partir d'une date donnée. En javascript ou par formule je suis preneur.
polo-bis
 

Re: recupération du numéro de semaine

Messagepar Stephane Maillard » 12 Sep 2003 à 22:37

Bonjour,Exemple de code :Dim DebutPub As New NotesDateTime( VotreDate )Dim DebutYear As New NotesDateTime("01-01-" & Year(DebutPub.dateonly))result = (DebutPub.TimeDifference( DebutYear ) / (86400)) +1 result1= Weekday(DebutYear.DateOnly)result3=Cint ( ( (result - result1) +6) /7)If Year(DebutPub.dateonly)="2000" Then result3=result3+1End IfPrint result3Ou :Function RecupNumeroSemaine(dateJour As Variant) As Integer On Error Goto ReturnZero Const Janvier = 1, Fevrier = 2, Mars = 3, Avril = 4, Mai = 5, Juin = 6 Const Juillet = 7, Aout = 8, Septembre = 9, Octobre = 10, Novembre = 11 Const Decembre = 12 Dim i%, y%, m%, d%, Semaine%, Jours% Dim aMois(12) As Integer aMois(Janvier) = 31 aMois(Fevrier) = 28 aMois(Mars) = 31 aMois(Avril) = 30 aMois(Mai) = 31 aMois(Juin) = 30 aMois(Juillet) = 31 aMois(Aout) = 31 aMois(Septembre) = 30 aMois(Octobre) = 31 aMois(Novembre) = 30 aMois(Decembre) = 31 y% = Year(dateJour) m% = Month( dateJour) d% = Day( dateJour ) If y% Mod 4 = 0 Then aMois(Fevrier) = aMois(Fevrier) + 1 End If Jours% = Weekday( Datenumber(y%, 1, 1) ) + 1 For i% = 1 To m% - 1 Jours% = Jours% + aMois(i%) Next Jours% = Jours% + d% Semaine% = Jours% / 7 If Semaine% > 52 Then Semaine% = 1 RecupNumeroSemaine = Semaine% Exit Function ReturnZero: RecupNumeroSemaine = 0 Exit Function End Function[%sig%]
Cordialement

Stéphane Maillard
Avatar de l’utilisateur
Stephane Maillard
Lord of DominoArea
Lord of DominoArea
 
Message(s) : 8695
Inscrit(e) le : 16 Déc 2004 à 01:10
Localisation : Bretagne

Re: recupération du numéro de semaine

Messagepar Raziel » 15 Sep 2003 à 08:15

C'est du LS ça....Code interessant mais il y a plus simpledim aujourdhui as notesdatetimeset aujourdhui = new notesdatetime(now)msgbox format$(aujourdhui.lslocaltime, "ww") -> retourne le numéro de la semaine
Raziel

L'administration est un lieu ou les gens qui arrivent en retard croisent dans l'escalier ceux qui partent en avance. [Georges Courteline]
Avatar de l’utilisateur
Raziel
Modérateur
Modérateur
 
Message(s) : 1795
Inscrit(e) le : 21 Déc 2004 à 11:06
Localisation : Roubaix

Re: recupération du numéro de semaine

Messagepar polo-bis » 15 Sep 2003 à 08:51

ok merci pour vos réponses les 2 fonctionnent très bien.
polo-bis
 

Re: recupération du numéro de semaine

Messagepar Droad » 15 Sep 2003 à 09:08

Code interessant mais il y a plus simple:msgbox format$(now, "ww") ' -> retourne aussi le numéro de la semaine[%sig%]
Droad
 

Re: recupération du numéro de semaine

Messagepar Stephane Maillard » 15 Sep 2003 à 16:28

Bonjour,Oui c'est pour éviter la semaine 53[%sig%]
Cordialement

Stéphane Maillard
Avatar de l’utilisateur
Stephane Maillard
Lord of DominoArea
Lord of DominoArea
 
Message(s) : 8695
Inscrit(e) le : 16 Déc 2004 à 01:10
Localisation : Bretagne

Re: recupération du numéro de semaine

Messagepar polo-bis » 15 Sep 2003 à 16:33

??il la considère comme la 52 ou comme la 1 ??
polo-bis
 

Re: recupération du numéro de semaine

Messagepar Stephane Maillard » 15 Sep 2003 à 17:22

Bonjour,Cela dépend des règles utilisées, par exemple cette anée la semaine 52 commence le lundi 22 décembre et fini le mercredi 31, donc trois jour de trop. Quand on utilise la plupart des fonctions elle donne le lundi 29 comme la première semaine de l'année alors que c'est faux puisque c'est la 52.Il existe plusieurs règles :1) comme la première semaine de l'année est celle qui comporte quatre jours2)comme la première semaine commence le premier lundi après le 1er janvier, etc...Donc il faut des fonctions qui puisse s'adapter par rapport aux règles voulues. Même dans Notes quand on change le jour de départ on se retrouve avec une semaine 53 qui normalement n'existe pas puisque ces jour doivent être inclus dans la semaine 52 ou 1 suivant la règle retenue.[%sig%]
Cordialement

Stéphane Maillard
Avatar de l’utilisateur
Stephane Maillard
Lord of DominoArea
Lord of DominoArea
 
Message(s) : 8695
Inscrit(e) le : 16 Déc 2004 à 01:10
Localisation : Bretagne


Retour vers Développement

cron