| maison  | Hardware  | réseaux  | programmation  | Logiciel  | Dépannage  | systèmes |  
programmation  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Connaissances Informatiques >> programmation >> Computer Programming Languages >> Content
    Comment calculer le jour de la semaine pour une année
    Un algorithme commun pour calculer le jour de la semaine d'une date en particulier est l'algorithme de Zeller . L'algorithme a été publié en 1882 et conçu pour être travaillé à la main, mais peut facilement être implémenté dans le logiciel . L'algorithme de Zeller travaille en trouvant le jour de la semaine du siècle a commencé , puis construire à partir de là en ajoutant années, mois et jours . Une bonne compréhension de l'arithmétique modulo est nécessaire de comprendre comment fonctionne l'algorithme , mais n'importe qui peut le mettre en œuvre en suivant les instructions. Instructions
    1

    Préparer les entrées . L'algorithme attend un jour, le mois et l'année. Numéros de l'algorithme de

    Zeller Les mois de trois à 14 , en commençant par Mars et se terminant avec Février . Cela garantit que les jours bissextiles tombent toujours à la fin de l'année , ce qui simplifie les calculs.

    Mois <3 puis , mois = 12 mois +
    2

    Calculer le siècle et l' année du siècle . Le siècle pour 1950 devrait être 19, même si elle tombe dans le XXe siècle.

    Siècle = floor ( année /100) = yearOfCentury année mod 100
    3

    Trouver le jour de la semaine où le siècle a commencé .

    dayOfWeek = floor ( siècle /4) + 5 * siècle

    Zeller a déterminé que ce calcul, modulo sept ans, donnera le jour de l' semaine que toute donnée siècle a commencé . Le calcul de l' étage gère le fait que chaque quatrième siècle est à court d'un jour bissextile.
    4

    calculer le jour de la semaine que l'année a commencé sur .

    DayOfWeek = dayOfWeek + yearOfCentury + étage ( yearOfCentury /4)

    Chaque année commence le lendemain de la semaine par rapport à l'année précédente , sauf pour les années bissextiles . Ce calcul , modulo sept ans, donne le jour de la semaine de la première journée de l'année.
    5

    Trouver le jour de la semaine que le mois a débuté le .

    DayOfWeek = dayOfWeek + étage ( ( mois + 1) * 26) /10) pour

    c'est le cœur de l'algorithme de Zeller . Zeller a observé que ce calcul est capable de déterminer sur quel jour de la semaine, un mois va commencer . Il élimine le besoin de tables de consultation pour déterminer la longueur de chaque mois.
    6

    Ajouter le jour du mois et de calculer le jour de la semaine sur lequel tombe la date .

    DayOfWeek = dayOfWeek + daydayOfWeek = dayOfWeek mod 7
    7

    convertir la date normes à jour ISO semaine.

    ISO date de semaine du jour de la semaine commence avec lundi = 1. L'algorithme de Zeller utilise samedi = 0. La conversion utilise l'arithmétique modulo .

    DayOfWeek = (( dayOfWeek + 5) mod 7 ) + 1

    Previous :

    next :
      articles connexes
    ·Classification des langages de haut niveau en programma…
    ·Comment écrire une fonction Organigramme du processus 
    ·Qu'est-ce qu'une erreur de calcul 
    ·Comment congeler le fond dans SMF 
    ·Comment accéder aux contrôles ActiveX 
    ·Avantages de la gestion des attributs 
    ·Comment utiliser Pivot dans SQL 
    ·Comment analyser beaucoup de données avec ColdFusion 
    ·Différence entre exécution et heure de compilation 
    ·Quelles sont les fonctions de Alerton VLC 
      articles en vedette
    ·Comment choisir parmi un ensemble de données en Visual…
    ·Avantages Jquery 
    ·Les différences entre les JSP et JSPF 
    ·Comment saisir un flotteur littérale en Java 
    ·Comment désactiver Turbo sur M3 
    ·Comment créer un fichier à l'aide Perl 
    ·La fonction de la bande de Python 
    ·Comment déterminer Algorithmes 
    ·Comment savoir sténodactylographie 
    ·Comment comparer des chaînes en Ruby 
    Copyright © Connaissances Informatiques http://fr.wingwit.com