Jasmin: kalenderwoche anzeigen

Hallo

kann ein cgi die jetzige Kalenderwoche anzeigen?

Vielen Dank schon im Voraus für den code

jasmin

  1. Hi,

    sub gib_kalenderwoche {
      my @startdatum = (1,1,$_[2]);
      my $wochentag = gib_wochentag(@startdatum);
      if ($wochentag > 3) {
        $startdatum[0] += (7 - $wochentag);
      }
      return int((datum_differenz($_[0],$_[1],$_[2],@startdatum) / 7))+1;
    }
    sub gib_wochentag {
      if ($_[2] < 1999) {
        return ((datum_differenz(@_,29,12,1997) % 7));
      }
      elsif ($_[2] < 2000) {
        return ((datum_differenz(@_,28,12,1998) % 7));
      }
      elsif ($_[2] < 2001) {
        return ((datum_differenz(@_,27,12,1999) % 7));
      }
      else {
        return ((datum_differenz(@_,25,12,2000) % 7));
      }
    } # gib_wochentag
    sub datum_differenz {
      my @akt_datum = ($_[3],$_[4],$_[5]);
      my $tage = 0;
      while (datum_kleiner(@akt_datum, $_[0], $_[1], $_[2])) {
        @akt_datum = increase_date (@akt_datum);
        $tage++;
      }
      return $tage;
    } # datum_differenz
    sub datum_kleiner {
      if (($_[2]*10000 + $_[1]*100 + $_[0]) < ($_[5]*10000 + $_[4]*100 + $_[3])) {
        return 1;
      }
      else {
        return 0;
      }
    } # datum_kleiner
    sub increase_date {
      my @akt_datum = @_;
      $akt_datum[0]++;
      if ($akt_datum[0] > gib_tage_pro_monat($akt_datum[1],$akt_datum[2])) {
        $akt_datum[0] = 1;
        $akt_datum[1]++;
      } # Monat hochzaehlen
      if ($akt_datum[1] > 12) {
        $akt_datum[1] = 1;
        $akt_datum[2]++;
      } # Jahr hochzaehlen
      return @akt_datum;
    } # increase_date
    sub gib_tage_pro_monat {
      my @tage_pro_monat = (0,31,28,31,30,31,30,31,31,30,31,30,31);
      if (($_[1] % 4) == 0) {
        $tage_pro_monat[2] = 29;
        if (($_[1] % 100) == 0) {
          $tage_pro_monat[2] = 28;
          if (($_[1] % 400) == 0) {
            $tage_pro_monat[2] = 29;
          } # if
        } # if
      } # if
      return $tage_pro_monat[$_[0]];
    } # gib_tage_pro_monat

    Mit gib_kalenderwoche([Tag],[Monat],[Jahr]) sollte das (hoffentlich) funktionieren...

    Ciao
    Andreas

  2. Hallo

    kann ein cgi die jetzige Kalenderwoche anzeigen?

    DIN1355 hab ich in PERL mal implementiert und für die Nachwelt aufgeschrieben: http://perlbase.xwolf.de/cgi-bin/perlbase.cgi?display=6&id=7

    /Rolf

    --
    SELFforum - Das Tor zur Welt!
    Theoretiker: Wie kommt das Kupfer in die Leitung?
    Praktiker: Wie kommt der Strom in die Leitung?