Rolf: Neues Modul CalendarTools

Hi 2 all!

Forum wieder offen - wow!!! Da poste ich doch gleich auch mal was :)

Also ich habe ein kleines PERL Modul geschrieben für Kalender Berechnungen, wen's interessiert:

http://i-netlab.de/perlmod/ctdoc.htm

Es ist noch nicht ganz fertig, wer beim Testen mitmachen möchte sei willkommen!

Zum schnellen Testen des Moduls, siehe http://i-netlab.de/cgi-bin/ycalendar.cgi

Viele Grüße, Rolf

  1. Hi,

    Also ich habe ein kleines PERL Modul geschrieben für Kalender Berechnungen, wen's interessiert:

    hey, schön schnell! Danke für die Veröffentlichung :-)

    http://i-netlab.de/perlmod/ctdoc.htm

    Damit es ein CPAN-Modul werden kann, solltest Du aber mindestens noch am Namen arbeiten. Einerseits gehört das Modul IMHO klar ins Date::*-Package, sollte also Date::CalenderTools heißen; abdererseits ist es zudem landes- und evtl. sogar religionsspezifisch. Ergo brauchst Du einen allgemeinen Teil, der international gültig ist, und z.B. ein Date::CalenderTools::German, welches die entsprechenden Feiertage hinzufügt.

    Ganz perfekt ist es dann, wenn die Namen der Feiertage etc. unabhängig von der Landeswahl über locale in der richtigen Sprache ausgegeben werden ;-)

    Zum schnellen Testen des Moduls, siehe http://i-netlab.de/cgi-bin/ycalendar.cgi

    Gibt es dieses Script auch irgendwo in der Quellcodeansicht?

    Cheatah

    1. Moin :)

      hey, schön schnell! Danke für die Veröffentlichung :-)

      http://i-netlab.de/perlmod/ctdoc.htm

      Vielen Dank für Dein Interesse!

      Damit es ein CPAN-Modul werden kann, solltest Du aber mindestens noch am Namen arbeiten. Einerseits gehört das Modul IMHO klar ins Date::*-Package, sollte also Date::CalenderTools heißen; abdererseits ist es zudem landes- und evtl. sogar religionsspezifisch. Ergo brauchst Du einen allgemeinen Teil, der international gültig ist, und z.B. ein Date::CalenderTools::German, welches die entsprechenden Feiertage hinzufügt.

      Naja es ist dafür noch nicht reif genug. Z.B. gibt es einen
      kleinen Bug im hash mit den Feiertagen: Wenn da ein
      fixer Tag mit einem errechneten Tag zusammenfällt wird
      dieser hash inkonsistent (2 gleiche Keys!). Du kannst das ja mal testen indem
      Du ein Jahr nimmst wo der 4. Advent mit dem 24.12.
      zusammenfällt da wird der "Heiligabend" überschrieben.
      Die Lösung dafür hab ich schon im Kopf: Für die fixen Tage
      einen eigenen hash! Damit kannst Du dann auch einen
      Terminkalender programmieren!

      Das Script ycalendar.cgi ist ganz easy:

      use CGI qw(:standard);
      use CalendarTools;  # Modul written by Rolf Rost :)

      for(1..12){
       print "<p>",&month_as_html($_,param(year)),"</p>\n";
      }

      Language: Bis jetzt ist das Teil ur_deutsch aber wenn Du
      möchtest kannst Du das Modul ja umschreiben auf amerikanische
      Verhältnisse, nicht vergessen: Den Unabhängigkeitstag :)

      Und ein paar weitere Funktionen die noch reinmüssen hab ich
      schon in Vorbereitung, Vergleich von Datums, sortieren
      von Datums ...

      Viele Grüße, Rolf

      1. Hallo Rolf,

        Und ein paar weitere Funktionen die noch reinmüssen hab ich
        schon in Vorbereitung, Vergleich von Datums, sortieren
        von Datums ...

        • date_diff ($date_1, $date_2) ?     { in Tagen }
        • date_add  ($date, $nr_of_days) ?
        • yesterday ($date) ?  { = date_add ($date, -1) }
        • tomorrow  ($date) ?  { = date_add ($date,  1) }

        Wir hatten mal eine Historische Kursdatenbank, und dazu eine
        C-Bibliothek mit einem Haufen solcher Datumsfunktionen ...

        Viele Grüße
              Michael

        1. Hi Michael,

          schön dass Du da bist :)

          Und ein paar weitere Funktionen die noch reinmüssen hab ich
          schon in Vorbereitung, Vergleich von Datums, sortieren
          von Datums ...

          • date_diff ($date_1, $date_2) ?     { in Tagen }
          • date_add  ($date, $nr_of_days) ?
          • yesterday ($date) ?  { = date_add ($date, -1) }
          • tomorrow  ($date) ?  { = date_add ($date,  1) }

          Jow!

          Wir hatten mal eine Historische Kursdatenbank, und dazu eine
          C-Bibliothek mit einem Haufen solcher Datumsfunktionen ...

          Noch Kawelltexte da _zu? if yes -> mir schicken plies !

          Herzliche Grüße, Rolf

      2. Hi,

        Damit es ein CPAN-Modul werden kann, [...]

        Naja es ist dafür noch nicht reif genug.

        das wollte ich damit sagen ;-) aber auch, daß es für CPAN reif werden _kann_.

        Die Lösung dafür hab ich schon im Kopf: Für die fixen Tage
        einen eigenen hash! Damit kannst Du dann auch einen
        Terminkalender programmieren!

        Damit hast Du aber ein Problem, wenn zwei fixe oder - wahrscheinlicher - zwei flexible Daten auf den selben Tag fallen... recht wahrscheinlich, wenn Du die Integration mehrerer "Sets", also z.B. christische und moslemische Feiertage erlaubst.

        Mit einem Hash of Arrays wirst Du das aber lösen können.

        Das Script ycalendar.cgi ist ganz easy:

        Danke!

        Language: Bis jetzt ist das Teil ur_deutsch aber wenn Du
        möchtest kannst Du das Modul ja umschreiben auf amerikanische
        Verhältnisse, nicht vergessen: Den Unabhängigkeitstag :)

        Ich verzichte nicht zuletzt mangels Kenntnissen über Feiertage i.a. und ausländische i.s. dankend :-)

        Und ein paar weitere Funktionen die noch reinmüssen hab ich
        schon in Vorbereitung, Vergleich von Datums, sortieren
        von Datums ...

        Just in case für die Doku: Der Plural von 'Datum' lautet 'Daten'... ;-)

        Cheatah

        P.S.: Ja, und der Singular von 'Daten' ist 'Datum'. Wenn ich aus einer z.B. Adress-DB 1% von 100 Daten extrahiere, habe ich ein Datum herausgeholt, auch wenn es mit Zeit überhaupt nichts zu tun hat.

        1. Hallo;

          Die Lösung dafür hab ich schon im Kopf: Für die fixen Tage
          einen eigenen hash! Damit kannst Du dann auch einen
          Terminkalender programmieren!

          Damit hast Du aber ein Problem, wenn zwei fixe oder - wahrscheinlicher - zwei flexible Daten auf den selben Tag fallen... recht wahrscheinlich, wenn Du die Integration mehrerer "Sets", also z.B. christische und moslemische Feiertage erlaubst.

          Mit einem Hash of Arrays wirst Du das aber lösen können.

          Ist bereits passiert *g

          Das Script ycalendar.cgi ist ganz easy:

          Danke!

          Und ein paar weitere Funktionen die noch reinmüssen hab ich
          schon in Vorbereitung, Vergleich von Datums, sortieren
          von Datums ...

          Just in case für die Doku: Der Plural von 'Datum' lautet 'Daten'... ;-)

          Ach was, ich nehm das nicht so genau *g. Ich hatte mal einen Schulfreund den nannten alle Kuhs (weil bei ihm die Mehrzahl von Kühe...)

          Viele Grüße aus Linkenheim, Rolf