Osterformel für Adobe InDesign JavaScript

Funktionen, Klassen, Prototypes, Libraries, Problemlösungen
Antworten
wernerperplies
Beiträge: 250
Registriert: 6. Aug 2011, 17:48
Wohnort: 18374 Zingst
Kontaktdaten:

Osterformel für Adobe InDesign JavaScript

Beitrag von wernerperplies » 1. Dez 2011, 09:29

siehe auch wpsGetACalendar - Kalenderobjekt erzeugen und WpsGetGermanHolidays Adobe InDesign Skript

Viele bewegliche Feiertage eines Jahres basieren auf dem Datum des Osterfestes.

Mit den Funktionen
GetDateOfEasterAsDate(/*int*/year, /*bool*/julian)
und
GetDateOfEasterAsString(/*int*/year, /*bool*/julian)
können Sie das Datum des Ostersonntags für ein beliebiges Jahr mit JavaScript für Adobe InDesign ermitteln.

Dieses Script ermittelt Ihnen die Ostersonntage der Jahre 2014 - 2030:

Code: Alles auswählen

// DESCRIPTION ermittelt das Osterdatum eines Jahres
// + Beispiel: Jahre von 2014 - 2030;
// Dateiname: WpsEaster.jsx
//  © 2011-2013 by Werner Perplies, EDV-Anwendungsberatung, 
// http://weepee.de, email: werner.perplies@weepee.de 
String.prototype.left=function(length)
{if (this.length<length) return this; return this.substr(0,length)};

main();

/*void*/function main()
{
    var easterfrom2014to2030 = ""
    for (var i = 2014; i < 2030; i++)
    {
        easterfrom2014to2030 += GetDateOfEasterAsString(i, false)+"\n";
    }
    alert (easterfrom2014to2030);
    return
}
    // DESCRIPTION ermittelt das Osterdatum eines Jahres
    /*date*/function GetDateOfEasterAsDate(/*int*/year, /*bool*/julian)
    {
        // entwickelt nach http://de.wikipedia.org/wiki/Gaußsche_Osterformel
        var a =year%19;
        var b = year%4;
        var c = year%7
        var k = Math.floor(year/100);
        var p = Math.floor(k/3);
        var q = Math.floor(k/4);
        if (julian)
        {
            var m = 15;
            var n= 6;
        }
        else
        {
            var m = (15 + k -p -q)%30;
            var n = (4 + k -q)%7;        
        }
        var d = (19*a + m)%30;
        var e = (2*b + 4*c + 6*d + n)%7;
        var day = 22+d+e;
        if (day > 31) 
            {day = day-31; var month = 3;}
        else 
            var month = 2;
        return new Date(year,month,day); // day+"."+month+"."+year;
    }
    /*string*/function GetDateOfEasterAsString(/*int*/year, /*bool*/julian)
   {
        var dateC =  GetDateOfEasterAsDate(year, julian).toLocaleString();
        return dateC.left(dateC.length-" 00:00:00".length);
    }
Bild

Die Osterformel basiert auf dieser Beschreibung:
Gaußsche Osterformel
Download (erfordert Anmeldung/Registrierung im Forum): WpsEaster.zip
Zuletzt geändert von wernerperplies am 12. Aug 2013, 08:03, insgesamt 1-mal geändert.
einen schönen Tag wünscht

Werner Perplies
https://www.weepee.de

Antworten

Zurück zu „Snippets und Libs“