Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Folker •---->


Anmeldedatum: 11.12.2000 Beiträge: 649 Wohnort: Holsteinische Schweiz
|
Verfasst am: 02.10.2003 - 12:43 Titel: Feiertage! |
|
|
Kennen wir alle, bewegliche Feiertage. Diese können mit AppleScript-eigenen Mitteln errechnet werden! Auch für Jahre wo wir noch gar keinen Kalender greifbar haben.
Ach so ja, viele beweglich Feiertage leiten sich von diesem Ostersonntag ab:
Rosenmontag: Ostersonntag date - (48 * 86400)
Palmsonntag: Ostersonntag date - (7 * 86400)
Gründonnerstag: Ostersonntag date - (3 * 86400)
Karfreitag: Ostersonntag date - (2 * 86400)
Ostermontag: Ostersonntag date + (86400)
Himmelfahrt Christi: Ostersonntag date + (39 * 86400)
Pfingstsonntag: Ostersonntag date + (49 * 86400)
Pfingstmontag: Ostersonntag date + (50 * 86400)
Fronleichnam: Ostersonntag date + (60 * 86400)
Das erhabt jetzt keinen Anspruch auf vollständigkeit! Ebenso übernehme ich keinerlei Garantie oder gar Schadensersatz bei Fehlplanung des nächsten langen WE oder Urlaub
-----------Scriptanfang
property thePWeekdList : {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}
set theDate to (current date)
set theYear to 9999
copy get_FTSource(theDate, theYear) to theOsternDate
copy get_Busstag(theDate, theYear) to theBBDate
get {theOsternDate, theBBDate}
--liefert den Ostersonntag des jeweiligen Jahres als date
--liefert den Ostersonntag des jeweiligen Jahres als date
(* lt. Osterformel der Physikalisch-Technische Bundesanstalt (PTB)
nach Carl Friedrich Gauß (1777 - 1855) auf der Grundlage der Texte von Christophorus Clavius
modifiziert v. Dr. Heiner Lichtenberg, Bonn
(H. Lichtenberg, Zur Interpretation der Gaußschen Osterformel und ihrer Ausnahmeregeln,
Historia Mathematica 24, 441 - 444 (1997)) *)
on get_FTSource(theDate, theYear)
set year of theDate to theYear
set month of theDate to March
set k to (theYear div 100)
set m to 15 + ((3 * k + 3) div 4) - ((8 * k + 13) div 25)
set s to 2 - ((3 * k + 3) div 4)
set a to (theYear mod 19)
set d to ((19 * a + m) mod 30)
set r to (d div 29) + ((d div 28) - (d div 29)) * (a div 11)
set OG to 21 + d - r
set sz to (7 - (theYear + (theYear div 4) + s) mod 7)
set OE to 7 - ((OG - sz) mod 7)
set day of theDate to (OE + OG)
return theDate
end get_FTSource
-- liefert den Busstag des jeweiligen Jahres als date
(* Busstag fällt immer auf den Mittwoch vor dem letzten Sonntag des Kirchenjahres
Das Kirchenjahr beginnt mit d. 1. Advent *)
on get_Busstag(theDate, theYear)
set day of theDate to 24
set month of theDate to December
set year of theDate to theYear
set theDate to (theDate - ((32 + (get_theWeekdayNr((weekday of theDate) as string) - 1)) * 86400))
return theDate
end get_Busstag
-- Starttag Wochentagsname des Jahres ermitteln
-- Wochentag Heiligabend f. Buss- und Bettag ermitteln
on get_theWeekdayNr(theDayName)
repeat with i from 1 to 7
if (theDayName = item i of my thePWeekdList) then exit repeat
end repeat
return i
end get_theWeekdayNr
Nachtrag: Das wurde von mir für AS 1.9.3 geprüft, sollte aber auch mit AS 1.9 funktionieren! _________________ Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign
Zuletzt bearbeitet von Folker am 30.11.2004 - 13:49, insgesamt 2-mal bearbeitet |
|
Nach oben |
|
 |
Folker •---->


Anmeldedatum: 11.12.2000 Beiträge: 649 Wohnort: Holsteinische Schweiz
|
Verfasst am: 30.11.2004 - 13:43 Titel: |
|
|
Update aus aktuellem Anlass.
Wieder einmal nähert sich das Jahresende. Z.Zt. überarbeite ich mein "Kalender-Script" - d.h., ich schreibe es gerade neu
Alten Kram werfe ich über Bord - ob und wie das unter OS 9 funktioniert, werde ich nicht mehr berücksichtigen, wobei die erzeugten Textdateien natürlich abwärtskompatibel sind!
Die Feiertage habe ich gegengeprüft. Für d. Zeitraum von 1583 - 3000 wurde mit einem weiteren Algorithmus gerechnet und verglichen. Eine Plausibilitätsprüfung ergab keine unerlaubten Daten, d.h. die ermittelten Feiertage lagen im mögl. Zeitrahmen und Ausnahmen wurden offenbar eingehalten - aber wer will das f. d. ferne Zukunft schon so genau wissen?
@Snow,
wenn denn mein neuestes KalenderScript fertig ist, würde ich es gerne der Scripter-Community zur Verfügung stellen - nur wird die Länge wohl das Snippet-Forum etwas sprengen. Kann ich das nach Fertigstellung schicken, und Du machst einen kleinen DownLoad-Link, natürlich nach Gegenprüfung von Dir? Also zum 11.12. sollte das fertig sein  _________________ Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 02.12.2004 - 21:01 Titel: |
|
|
Folker hat Folgendes geschrieben: |
@Snow,
wenn denn mein neuestes KalenderScript fertig ist, würde ich es gerne der Scripter-Community zur Verfügung stellen - nur wird die Länge wohl das Snippet-Forum etwas sprengen. Kann ich das nach Fertigstellung schicken, und Du machst einen kleinen DownLoad-Link, natürlich nach Gegenprüfung von Dir? Also zum 11.12. sollte das fertig sein  |
Kein Problem! Setze ich dann auf die Download-Seite. _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2002 phpBB Group Deutsche Übersetzung von phpBB.de
|
|
|