Date Functions #4

by toubia95

CSS

/* TODO
 * - revérifier la validité des chiffres en entrée (isNan ???)
 * - Nettoyer espace Github et configurer doc avec champs de saisie et exemples de script
 * - Nettoyer et intégrer le script de conversion Calendrier Républicain
 * - Nettoyer et intégrer le script de calcul des fêtes religieuses
 * - Nettoyer et intégrer le script de calcul de périodes optimales de recherche
 */

/* AIDE
 * http://t-templier.developpez.com/tutoriel/javascript/javascript-poo1/ 
 * Objets et Methodes : http://stackoverflow.com/questions/12016631/what-is-an-example-of-a-method-in-javascript
 * http://www.w3schools.com/js/js_objects.asp
 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript
 * http://blogs.developpeur.org/fremycompany/archive/2008/02/10/javascript-savoir-si-un-objet-est-du-type-d-sir.aspx
 * http://stackoverflow.com/questions/643782/how-to-know-if-an-object-is-a-date-or-not-with-javascript
 * http://www.mkyong.com/javascript/check-if-variable-is-a-number-in-javascript/
 */

JavaScript

gjs = {};

// 1.fonction de création d'un Objet Date pour les calculs

/* Arguments : Un jour (2 chiffres), un mois (2 chiffres), une année (4 chiffres)
 * Sortie : Un objet Date 
 */

gjs.ObjetDate = function (jour, mois, annee) { //v1.00
    var odate;
    if ((isFinite(parseInt(jour,10))) && (isFinite(parseInt(mois,10))) && (isFinite(parseInt(annee,10)))) {
        odate = new Date(annee, mois - 1, jour);
    } else {
        odate = "Utilisez des chiffres !";
    }
    return odate;
};

// 2.fonction de formatage d'un objet date en JJ/MM/AAAA pour l'affichage

/* Arguments : Un objet Date, Un caractère de séparation (optionel)
 * Sortie : Une date formatté avec les mois en toutes lettres (par défaut), ou Une date en chiffres séparés par le caractère de séparation
 */

gjs.DateFormat = function (date, separateur) { //v1.00
    var fdate, Mois = [" janvier ", " février ", " mars ", " avril ", " mai ", " juin ", " juillet ", " août ", " septembre ", " octobre ", " novembre ", " décembre "];
    if (date instanceof Date) {
        if (separateur === undefined) {
            fdate = date.getDate() + Mois[date.getMonth()] + (date.getYear() + 1900);
        } else {
            fdate = date.getDate() + separateur + (date.getMonth() + 1) + separateur + (date.getYear() + 1900);
        }
    } else {
        fdate = "Utilisez un objet Date !";
    }
    return fdate;
};

// 3.fonction de calcul de l'année approximative de naissance et des dates minimale et maximale de naissance, à partir de la date et de l'age sur l'acte

/* Arguments : Un objet Date, un age (2 chiffres)
 * Sortie : Un objet naissance contenant
 *     - naissance.an : l'année de naissance en chiffres
 *     - naissance.date.min : un objet Date minimale de naissance
 *     - naissance.date.max : un objet Date maxiamle de naissance
 */

gjs.Naissance = function (date, age) { //v1.00
    var naissance = {};
    if ((date instanceof Date) && (isFinite(parseInt(age,10)))){
        naissance = {
           ...