Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Feiertage!

 
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> OS X-Snippets
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Folker
•---->
•---->


Anmeldedatum: 11.12.2000
Beiträge: 649
Wohnort: Holsteinische Schweiz

BeitragVerfasst am: 02.10.2003 - 12:43    Titel: Feiertage! Antworten mit Zitat

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 Wink

-----------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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Folker
•---->
•---->


Anmeldedatum: 11.12.2000
Beiträge: 649
Wohnort: Holsteinische Schweiz

BeitragVerfasst am: 30.11.2004 - 13:43    Titel: Antworten mit Zitat

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 Smile

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 Wink
_________________
Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1955
Wohnort: Deiningen

BeitragVerfasst am: 02.12.2004 - 21:01    Titel: Antworten mit Zitat

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 Wink


Kein Problem! Setze ich dann auf die Download-Seite.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> OS X-Snippets Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
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


AppleScript für absolute Starter