Date Functions #2

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

// 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 
 */

function gjsCreerObjetDate(jour, mois, annee) { //v1.00
    return new Date(annee, mois - 1, jour);
}

// 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
 */

function gjsFormaterDate(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
 */

function gjsDateNaissance(date, age) { //v1.00
    var naissance;
    if (date instanceof Date) {
        naissance = {
            "an": (date.getYear() + 1900) - age,
                "date": {
                    "min": new Date(((date.getYear()) - 1) - age, (date.getMonth()), (date.getDate()) + 1),
                    "max": new Date(((date.getYear()) + 1) - age, (date.getMonth()),...