PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Nombre de jours dans une année
Nombre de jours dans une année
Started by sylvie.anthierens, Mar., 28 2006 4:23 PM - 16 replies
Posted on March, 28 2006 - 4:23 PM
Bonjour,

je voudrais connaitre le nombre de jours dans une année.

Existe-t-il une façon rapide de trouver ce nombre ?


Merci d'avance,

Sylvie
Posted on March, 28 2006 - 5:13 PM
d1, d2 sont des entier
d1 = DateVersEntier("20060101")
d2=DateVersEntier("20061231")

LIB_Libellé1..Libellé = d2-d1
Posted on March, 28 2006 - 5:13 PM
Bonjour,

un truc du type

DateDifférence( ANNEE+"0101",NumériqueVersChaîne(Val(ANNEE)+1)+"0101")

devrait faire l'affaire.

A+

--
Francis MOREL
Posted on March, 28 2006 - 5:13 PM
La fonction DateDifférence te permet de calculer la différence de jours entre deux dates.
Posted on March, 28 2006 - 5:50 PM
"syl" <sylvie.anthierens@sofedis.fr> a écrit dans le message de
news:44290d79$1@news.pcsoft.fr...

Bonjour,

je voudrais connaitre le nombre de jours dans une année.

Existe-t-il une façon rapide de trouver ce nombre ?


d1,d2 sont des dates
d1=datesys()
d1..jour=1
d1..mois=1

d2=d1
d2..annee+=1


result est une duree=d2-d1

info(result..jour)

j'ai pas testé mais ca sonne bien
Posted on March, 28 2006 - 6:04 PM
Salut.

alors c'est simple. sachant qu'il y'a 365 jours les années non bisextile (dsl je sais pas comment ca s'ecrit) et 366 les autres on fait:

si Modulo (<annee>,4) = 0 alors nbjour = 366 sinon nbjour = 365.

En esperant t'avor aidé.

MikeFilth
Posted on March, 28 2006 - 6:06 PM
Bonjour,

Merci de votre aide, je vais essayer vos solutions.

Cordialement,

Sylvie
Posted on March, 28 2006 - 6:20 PM
Cette solution n'est pas complète.

Les années bisextiles respectent les règles suivantes :

une année est bisextile si elle est un multiple de 4 et de 400 mais pas de 100

En gros (pseudo code) :

bisextile est booleen = faux
si annee mod 4 = 0 alors
-- bisextile = vrai
-- si annee mod 100 = 0 alors
-- -- bisextile = faux
-- -- si annee mod 400 = 0 alors
-- -- -- bisextile = vrai
-- -- fin
-- fin
fin

Apres pour ce qui est des fonctions windev je me suis pas encore penché dessus (pas encore eu besoin)

Lionel
Posted on March, 28 2006 - 7:30 PM
re.

Pourtant l'anne 2000 est bixeltile.
elle est multiple de 4
elle est multiple de 400
elle est multiple de 100.

bizarre non ????
Posted on March, 28 2006 - 8:28 PM
Lionel a pensé très fort :
Cette solution n'est pas complète.

Les années bisextiles respectent les règles suivantes :

une année est bisextile si elle est un multiple de 4 et de 400 mais pas de 100


Bonsoir,
Comment une année peut-elle être à la fois: multiple de 400 et pas de 100 ???
Freddie
Posted on March, 28 2006 - 8:31 PM
Non, c'est normal:
Elle est divisible par 4, donc elle est bissextile. Mais comme elle est divisible par 100, elle ne l'est pas. Mais comme elle est divisible par 400, elle est bissextile.
Par contre, prenons l'exemple de 2100:
Elle est divisible par 4, donc elle est bissextile. Mais comme elle est divisible par 100, elle ne l'est pas. Et comme elle n'est divisible par 400, elle n'est pas bissextile.

Frédéric.
Posted on March, 28 2006 - 11:56 PM
Quelques précisions

Années bissextiles
Le calendrier grégorien a été conçu pour suivre au mieux le cycle des saisons, autrement dénommé « année tropique », c'est à dire l'intervalle de temps séparant deux équinoxes de printemps consécutives. Cette année tropique dure 365 jours, 5 heures, 48 minutes, et 46,02 secondes. Comme ce chiffre n'est pas un compte rond de jours, la solution retenue est d'ajouter un jour (le 29 février) les années bissextiles. Une année est bissextile si elle est divisible par quatre et pas par 100 (à moins qu'elle ne soit aussi divisible par 400). Par conséquent les années 1700, 1800, 1900 et 2100 ne sont pas bissextiles alors que les années 1600, 2000 et 2400 le sont.

Si une année calendaire durait toujours 365 jours exactement, elle serait trop courte de 0,2422 jour par an tous les ans. Sur un siècle cela ferait un décalage d'environ 24 jours amenant le début du printemps dans l'hémisphère nord au 13 avril au lieu du 21 mars !

yl
Posted on March, 29 2006 - 12:12 PM
Datedifference ou

Madate est une date=datesys()

si pas datevalide(MADATE..Annee+"0229") alors
// Année Normale
Renvoyer 365
Sinon
//Année Bissextile
renvoyer 366
fin
Posted on March, 29 2006 - 12:30 PM
yannick a présenté l'énoncé suivant :
Quelques précisions

Années bissextiles
Le calendrier grégorien a été conçu pour suivre au mieux le cycle des saisons, autrement dénommé « année
tropique », c'est à dire l'intervalle de temps séparant deux équinoxes de printemps consécutives. Cette
année tropique dure 365 jours, 5 heures, 48 minutes, et 46,02 secondes. Comme ce chiffre n'est pas un
compte rond de jours, la solution retenue est d'ajouter un jour (le 29 février) les années bissextiles.
Une année est bissextile si elle est divisible par quatre et pas par 100 (à moins qu'elle ne soit aussi
divisible par 400). Par conséquent les années 1700, 1800, 1900 et 2100 ne sont pas bissextiles alors que
les années 1600, 2000 et 2400 le sont.

Si une année calendaire durait toujours 365 jours exactement, elle serait trop courte de 0,2422 jour par
an tous les ans. Sur un siècle cela ferait un décalage d'environ 24 jours amenant le début du printemps
dans l'hémisphère nord au 13 avril au lieu du 21 mars !

Bonjour,
Merci de ces précisions que j'ignorais.
Je comprends mieux maintenant la divisibilité par 400 et par 100 évoquée précédemment.
Freddie

--
freddie3@wanadoo.fr
Posted on March, 29 2006 - 5:43 PM
pas la peine de faire de fonction ! il y a 365 jours dans une année ! tout le monde sait ca...


(joke :x)
Posted on March, 29 2006 - 5:59 PM
tu offenses ceux qui sont nés un 28 Février

Dans son message précédent, Saturnin a écrit :
pas la peine de faire de fonction ! il y a 365 jours dans une année ! tout le
monde sait ca...


(joke :x)


--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "
Posted on March, 30 2006 - 10:48 AM
Saturnin .... Dans ta coquille Vite !
Et ceux qui sont nés un 29 février tu les mets où ! (366 Jours)