Bonjour a tous.
Je voudrais savoir combien de jours séparent,
Le 01/01/0001 du 01/01/0801.
C' est pour m' enlever un doute persistant,
dans la Fonction YearsBetween et DaysBetween sous Delphi 7.
Merci d' avance.
Reivillo.
Bonjour a tous.
Je voudrais savoir combien de jours séparent,
Le 01/01/0001 du 01/01/0801.
C' est pour m' enlever un doute persistant,
dans la Fonction YearsBetween et DaysBetween sous Delphi 7.
Merci d' avance.
Reivillo.
Salut,
L'aide de D7 dit la chose suivante :
DaysBetween se contente de faire une différence entre les parties entières des deux dates.Toutes les années n'ayant pas la même longueur (en raison des années bissextiles), YearsBetween renvoie une valeur approximative basée sur une année de 365,25 jours. Les années non entières ne sont pas comptabilisées. De ce fait, par exemple, YearsBetween traduit la différence entre le 1er janvier et le 31*décembre par 0 pour les années non bissextiles et par 1 pour les années bissextiles.
Tu te poses des questions d'un point de vue d'historien (ie: type qui dit qu'avant 1582 on n'avait pas le calendrier grégorien etc etc), ou juste du point de vue d'un type qui demande les règles pour déterminer si une année est bissextile ou non (dans ce cas, tu peux lire cette page web)?
Bonjour LeGEC.
merci pour la réponse.
Donc la difference est de 800 ans:
Pour moi et l' Horloge parlante.(Lien ci-dessous).
et 799 pour YearsBetween.
Soit 292202 jours pour moi,
292200 jours pour l' Horloge parlante:
qui apparament oublie 1 an tous les 400 ans.
292193 jours pour DaysBetween:
qui décompte 1 an tous les 100 ans.
http://www.horlogeparlante.com/calc_time.php
A+.
Reivillo.
Pour une année moyenne de 365.25 jours, cela donne bien 292200 jours pour 800 ans. N'oublie pas que les siècles ne sont pas bissextiles sauf s'il sont divisibles par 4, d'où ton erreur de 2 jours sur 800 ans.
Delphi est plus précis et utilise 365.2425 se qui donne 292194.
On s'y perd en effet
Bonjour Andnotor.
D' accord, mais tous les 400 ans
les années sont aussi bissextiles.(Voir le lien ci-dessous).
Donc 800 ans*365.2525 = bien 292202 jours.
Mes 2 jours supplémebtaire viennent de: 800/400 = 2.
http://lwh.free.fr/pages/algo/calend..._gregorien.htm
Reivillo.
C'est ce que je dis, les siècles divisibles par 4
Maintenant, tu devrais plutôt en soustraire 6 (sur 800 ans) puisque les 3 premiers siècles (tout les 400 ans) on ne fait que 24 corrections/siècles, 25 seulement sur le 4ème. La correction tout les 400 ans étant pour corriger l'erreur de 11 minutes par année.
11 minutes/année = 1100 minutes/siècle = 18 heures/siècle.
Plutôt que d'ajouter 18 heures (25 années bissextiles/siècle) en ignore le dernier (25ième). Ce qui entraîne que de +18h, on passe à -6 heures (1 jour de moins = -24h). Après 2 siècles, -12h. 3, -18h. et le 4ème siècle, -24h => correction => bissextile .
Tout cela pour dire que 365.25 est une approximation qui fonctionne parfaitement sur un court lapse de temps (disons la vie de l'un d'entre nous ) mais est erroné sur plusieurs siècles et à l'arrivée, la calculation Delphi est plus juste que ton site. Une année faisant toujours 365.2425 jours et non 365.25 .
Re.
Merci pour ces précisions,
j' en prends acte.
Désolé, je n' avais pas bien lu
au sujet des siècles.
Je pense qu' on va en rester là.
Reivillo.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager