Forum Doku Wiki Blog

Forumsarchiv 2004, März
kalenderwoche anzeigen

archivierte Beiträge lesen

  1. (PERL) kalenderwoche anzeigen von Jasmin, 27. 03. 2004, 19:56

kalenderwoche anzeigen

Der folgende Beitrag wurde am 27. 03. 2004, 19:56 Uhr von Jasmin veröffentlicht.

Hallo

kann ein cgi die jetzige Kalenderwoche anzeigen?

Vielen Dank schon im Voraus für den code

jasmin

kalenderwoche anzeigen

Der folgende Beitrag wurde am 27. 03. 2004, 20:09 Uhr von Andreas veröffentlicht.

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

kalenderwoche anzeigen

Der folgende Beitrag wurde am 27. 03. 2004, 20:15 Uhr von Erwin veröffentlicht.

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?

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4