Essaye cela:
[i]\START92\
\COMMENT=
\NAME=dateserl
\FILE=DATESERL.89F
(y,m,d)
Func
\(C)\y,m,d:Func
Local a,b,c,e,f,ds
{0,31,59,90,120,151,181,212,243,273,304,334}\->\a
{0,31,60,91,121,152,182,213,244,274,305,335}\->\b
{0,366,731,1096}\->\c
{1,32,60,91,121,152,182,213,244,274,305,335}\->\e
{\(-)\1,36524,73048,109572}\->\f
d+int((y-1900)/400)*146097+f[mod(int((y-1900)/100),4)+1]+mod(int((y-1900)/4),100)*1461+c[mod(y,4)+1]\->\ds
If mod(y,100)=0 and mod(y,400)\!=\0 Then
ds+e[m]\->\ds
ElseIf mod(y,4)=0 Then
ds+b[m]\->\ds
Else
ds+a[m]\->\ds
EndIf
If y<0:ds+366\->\ds
Return ds
EndFunc
\STOP92[/i]
Ça devrait prendre en considération tout: années divisibles par 100 et pas par 400, inexistence de l'année 0 (donc on rajoute 366 au date serial pour tout ce qui précède l'an 1).
Et pour déduire le jour de semaine, il suffit de prendre mod(dateserl(y,m,d),7):
{"dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"}[mod(dateserl(y,m,d),7)+1]
[edit]Edité par Kevin Kofler le 29-11-2001 à 23:10:41[/edit]
