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);
}
Die Osterformel basiert auf dieser Beschreibung:
Gaußsche Osterformel
Download (erfordert Anmeldung/Registrierung im Forum): WpsEaster.zip