Autor Beitrag
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2615
Erhaltene Danke: 1423

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Mo 18.03.13 11:45 
Hallo,
nach dem chinesischen Kalender sind wir heute im Monat "Erwachen der Insekten". Schön wär's. Ich würde mich jetzt lieber von einer Mücke stechen lassen, als gleich wieder Schnee zu schippen. 18.März und es schneit, schneit, ... Wenn das keine "globale Erkältung" ist! :evil:

Das angefügte Programm stellt drei Kalender dar, die von mehr als 2 Milliarden Menschen benutzt werden, den chinesischen, jüdischen und islamischen Kalender.
Außer dem Problem mit den chinesischen, hebräischen und arabischen Schriftzeichen waren einige Überlegungen nötig. Insbesondere der chinesische Kalender (de.wikipedia.org/wik...hinesischer_Kalender) ist nicht einfach, besonders die Schaltregel.
Ich hoffe, das alles stimmt. :wink:

Beste Grüße
Mathematiker

Rev 1: In der Revision können zusätzlich für jeden gewählten Kalender private Daten angegeben werden. Diese Tage werden mit einem zusätzlichen gelben Punkt markiert.
Rev 2: Die privaten Daten können noch mit einem Kommentar versehen werden.
Rev 3: Darstellung verändert und Fehler bei der Berechnung im islamischen Kalender korrigiert.
Einloggen, um Attachments anzusehen!
_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein


Zuletzt bearbeitet von Mathematiker am Do 18.06.15 09:52, insgesamt 3-mal bearbeitet

Für diesen Beitrag haben gedankt: Anika, D. Annies
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 19.03.13 17:43 
- Nachträglich durch die Entwickler-Ecke gelöscht -
Mathematiker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2615
Erhaltene Danke: 1423

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Di 19.03.13 18:41 
Hallo,
user profile iconFrühlingsrolle hat folgendes geschrieben Zum zitierten Posting springen:
Tolle Arbeit!

Danke für das Lob.
user profile iconFrühlingsrolle hat folgendes geschrieben Zum zitierten Posting springen:

Wenn man noch den Julianischen und Buddhistischen Kalender hinzufügen würde, wäre die Sammlung komplett.

Der julianische Kalender ist kein Problem. Für den buddhistischen Kalender muss ich erst einmal lesen, wie der aufgebaut ist.
Aber das wird noch. Kann nur etwas dauern.

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
kaufmax
Hält's aus hier
Beiträge: 4



BeitragVerfasst: So 24.03.13 06:50 
Dein Kalender hat wohl einen Fehler.
Ich habe mir den jüdischen für März angesehen und die Zahlen haben ab 10 bsi 20 immer so ein '. Die 15 und 16 hat den ' nicht.

kaufmax
Mathematiker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2615
Erhaltene Danke: 1423

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: So 24.03.13 07:56 
Hallo,
user profile iconkaufmax hat folgendes geschrieben Zum zitierten Posting springen:
Dein Kalender hat wohl einen Fehler.

Das althebräische Zahlensystem ist ein additives System, d.h. zum Beispiel, die 14 wird (von rechts nach links!) mit den Zeichen für 10 (Jod) und 4 (Daleth) geschrieben.
Für die 15 und 16 würde sich Jod He (JH) und Jod Waw (JV) ergeben. Beide Buchstabenkombinationen sind aber Bestandteil des Namens Gottes JHVH (Jahve).
Nach dem Tabu der jüdischen Religion diesen Namen oder Teile zu schreiben oder auszusprechen, werden Tet Waw (9+6) und Tet Zajin (9+7) verwendet.

Unabhängig davon, was man von Religion im Allgemeinen hält und von speziellen religiösen Sitten im Besonderen, hat man dies zu respektieren.
Aus diesem Grund wird diese Regel in meinem Programm berücksichtigt. Es ist also kein Fehler.

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Mathematiker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2615
Erhaltene Danke: 1423

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: So 07.04.13 18:13 
Hallo,
durch Galileo wurde in der DP angefragt, ob man zusätzlich für jeden der drei Kalender private Daten angeben kann.
Das habe ich jetzt aufgenommen.

Die Tage werden in dem jeweiligen Kalender gespeichert, d.h. nicht im gregorianischen. Dadurch werden diese Tage auch in verschiedenen Jahren korrekt mit einem zusätzlichen gelben Punkt markiert und damit in unser Kalendersystem umgerechnet.

Um einen Tag aufzunehmen, wird unter "Gregorianischer Kalender" das entsprechende Datum des aktuellen Jahres ausgewählt, d.h. im angezeigten Kalender wird dieser Tag farbig markiert. Mit dem Schalter Hinzufügen wird der Tag in die Liste übernommen.
Mit dem Schalter Entfernen wird ein in der Liste markierter Wert wieder gelöscht.

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 03.09.13 12:18 
Der jüdische Neujahrstag steht "vor der Tür":

Das Reformjudentum feiert generell nur den ersten Tag des Festes.
Orthodoxes Judentum und Konservatives Judentum beachten sowohl den ersten wie den zweiten Tag.

Rosch ha-Schana findet 163 Tage nach dem ersten Tag des Pessachfestes statt. Unter dem derzeit gültigen gregorianischen Kalender kann Rosch ha-Schana nicht vor dem 5. September stattfinden, wie zum Beispiel in den Jahren 1899 und wieder 2013.

Rosch ha-Schana
de.wikipedia.org/wiki/Rosch_ha-Schana

Jüdischer Kalender
de.wikipedia.org/wiki/Jüdischer_Kalender


Zuletzt bearbeitet von hathor am Do 18.06.15 10:51, insgesamt 1-mal bearbeitet

Für diesen Beitrag haben gedankt: Mathematiker
Mathematiker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2615
Erhaltene Danke: 1423

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Do 18.06.15 09:55 
Hallo,
heute beginnt der islamische Fastenmonat Ramadan.
Bei der Kontrolle der Daten ist mir ein Fehler bei der Berechnung aufgefallen, der in Rev 3 korrigiert ist. Darüber hinaus habe ich noch ein paar Änderungen an der Darstellung durchgeführt.

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1195
Erhaltene Danke: 100

Win7
DXE2 Prof, Lazarus
BeitragVerfasst: Sa 20.06.15 14:49 
Fasziniered. Nur wirst Du die Berechnung jedes Jahr aufs neue anpassen können. Denn dieser Monat fängt nur bedingt zu einem berechenbaren Zeitpunkt an. Die wirkliche Entscheidung, welcher der erste Ramadan ist, wird von einem Team aus Glaubensgelehrten festgelegt und unterscheidet sich je nach Beobachtungsstandort und Wetterbedingungen.
Hier in den GCC wurde erst der 16.06. genannt. Man hat sich dann aber für den 18.06. entschieden. Dieses Datum wurde auch von anderen Ländern übernommen da es für das Ursprungsland des Islams festgelegt wurde obwohl bei lokaler Beobachtung des Mondes ein anderes Datum besser geeignet wäre.

Für weitere Infomationen (englisch):
www.emirates247.com
www.emirates247.com

_________________
Solange keine Zeile Code geschrieben ist, läuft ein Programm immer fehlerfrei.
Ich teste nicht, weil ich Angst habe Fehler zu finden.

Für diesen Beitrag haben gedankt: Mathematiker
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 20.06.15 15:01 

Für diesen Beitrag haben gedankt: Mathematiker
Mathematiker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2615
Erhaltene Danke: 1423

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Sa 20.06.15 18:43 
Hallo,
user profile iconSinspin hat folgendes geschrieben Zum zitierten Posting springen:
Nur wirst Du die Berechnung jedes Jahr aufs neue anpassen können. Denn dieser Monat fängt nur bedingt zu einem berechenbaren Zeitpunkt an.

Das Problem der Vorausberechenbarkeit des islamischen Kalenders ist leider vorhanden. Eigentlich dürfte es in den arabischen Kalendern nur Jahreskalender ohne(!) eingetragene Feiertage geben. :wink: Keine Ahnung. :nixweiss:

Um das Problem der Datierung zukünftiger Daten im Islamischen Kalender zu lösen, wurde eine schematische Variante des islamischen Kalenders entwickelt.
Die Monate erhielten Längen von abwechselnd 30 und 29 Tagen, unabhängig von der Mondsichtbarkeit.
Um den Kalender mit dem Wechsel der Mondphasen in Einklang zu halten, wurden in einem 30jährigen Zyklus elf Schaltjahre, und zwar das 2., 5., 7., 10., 13., 16., 18., 21., 24., 26. und 29. Jahr festgelegt. Es gibt auch abweichende Varianten, was die Berechnung nicht einfacher macht.

Damit ergibt sich das Problem, das mein Kalender ab und an um einen Tag abweicht. Theoretisch können 2 Tage Differenz entstehen, die ich aber noch nicht festgestellt habe.
Für den Ramadan gab es seit 1995 sechs Jahre mit einer eintägigen Abweichung.
2000, 2001, 2003 und 2008 war der Ramadan einen Tag vor dem von mir berechneten Datum. 2009 und 2010 zeigte mein Kalender einen Tag zu früh den Beginn des Fastenmonats. Seit 2011 stimmt es überein.

In den nächsten Jahren werde ich keine ständige Änderungen durchführen. Man muss eben beachten, dass 1 Tag Abweichung möglich und kaum zu verhindern ist. Leider.
Im Moment benutze ich folgende Funktion für die Transformation des gregorianischen Datums in das islamische:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
function islam(d,m,y:integer;var di,mi,yi:integer):string;
const islammonat:array[1..12of string[20]
      = ('Muharram','Safar','Rabi al-Awwal','Rabi al-Akhir','Djumada l-Ula','Djumada l-Akhira',
         'Radjab','Sha''ban','Ramadan','Shawwal','Dhu''l-Qa''dah','Dhu''l-Hijja');
var l,n,j,jd:integer;
begin
  //Berechnung des Julianischen Datums vor und nach der gregorianischen Kalenderreform 
  if ((y>1582or ((y=1582and (m>10)) or ((y=1582and (m=10and (d>14)))
  then
    jd:=(1461*(y+4800+(m-14div 12div 4)+((367*(m-2-12*(((m-14div 12)))) div 12)-
  ((3*(((y+4900+((m-14)div 12)) div 100))) div 4)+d-32075 
  else
    jd:= 367*y-((7*(y+5001+((m-9div 7))) div 4)+((275*m) div 9)+d+1729777;
  //Umwandlung Julianisches Datum in islamische Zeitrechnung
  l:=jd-1948440+10632;
  n:=(l-1div 10631;
  l:=l-10631*n+354;
  j:=((10985-l) div 5316)*((50*l) div 17719)+(l div 5670)*((43*l) div 15238);
  l:=l-((30-j) div 15)*((17719*j) div 50)-(j div 16)*((15238*j) div 43)+29;
  //Monat, Tag, Jahr
  mi:=(24*l) div 709;
  di:=l-((709*mi) div 24);
  yi:=30*n+j-30;
  islam:=inttostr(di)+'.'+islammonat[mi]+' '+inttostr(yi);
end;

Mein erwähnter Berechnungsfehler lag in der korrekten Ermittlung des Julianischen Datums, das ich für alle 3 Kalender benötige.

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein