ralf: Zeitangaben mit perl

hallo forum,
ich bin gerade dabei das forum von matt wright (ist die grundlage auch für dieses forum hier) an eine eigene site anzupassen. Dabei hat sich ein problem ergeben, das ich bisher nicht lösen konnte.
Es wäre schön, wenn  hier jemand einen rat weiß.

Es geht mir darum, daß ich die zeitangabe für ein posting gerne von der englischen angabe auf die deutsche ändern würde. Ich vermute, daß der code, der für die zeitangabe verantwortlich ist, folgender ist:

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);

$month = ($mon + 1);

@months = ("January","February","March","April","May","June","July","August","September","October","November","December");

$year += 1900;
   $long_date = sprintf("%s %02d, %4d at %02d:%02d:%02d",$months[$mon],$mday,$year,$hour,$min,$sec);

$year %= 100;
   if ($use_time == 1) {
      $date = sprintf("%02d:%02d:%02d %02d/%02d/%02d",$hour,$min,$sec,$month,$mday,$year);
   }
   else {
      $date = sprintf("%02d/%02d/%02d",$month,$mday,$year);

die frage ist jetzt, welche angaben ich ändern muß, bzw. darf, damit sich die zeitangabe ändert. Bisher habe ich es nur geschafft, fehlermeldungen zu erzeugen aber keine korrekte zeitangabe.
Vielen dank für die hilfe
schöne grüße
ralf

  1. Hi!

    @months = ("January","February","March","April","May","June","July","August","September","October","November","December");

    »»

    Einfach die Monatsnamen überschreiben.

    $year += 1900;
       $long_date = sprintf("%s %02d, %4d at %02d:%02d:%02d",$months[$mon],$mday,$year,$hour,$min,$sec);

    »»

    hier das at einfach mit um oder was auch immer ersetzen...

    $year %= 100;
       if ($use_time == 1) {
          $date = sprintf("%02d:%02d:%02d %02d/%02d/%02d",$hour,$min,$sec,$month,$mday,$year);
       }
       else {
          $date = sprintf("%02d/%02d/%02d",$month,$mday,$year);

    Und hier willst Du's wahrscheinlich so:
    $date = sprintf("%02d/%02d/%02d",$mday,$month,$year);

    Gruß
    Denis

    1. hallo denis,
      vielen dank für die schnelle antwort.
      Werde ich umgehend probieren.
      Es ist leider eben noch ein weitere problem aufgetaucht, an dem ich schon wieder ewig herumfrickel. Fällt dir dazu vielleicht auch noch was ein?
      Folgendes: Wenn ein besucher des forums eine nachricht schreibt, erscheint ja eine seite, in der die nachricht nochmals zitiert ist.
      Ist es möglich, hier mit ssi zu arbeiten? Die seite ist ja nicht als file vorhanden, sondern wird ja sozusagen "on the fly" generiert. Weißt du (oder jemand anders) wie ich hier includes einschließen kann?
      vielen dank
      ralf

      1. Hi,

        Folgendes: Wenn ein besucher des forums eine nachricht schreibt, erscheint ja eine seite, in der die nachricht nochmals zitiert ist.
        Ist es möglich, hier mit ssi zu arbeiten? Die seite ist ja nicht als file vorhanden, sondern wird ja sozusagen "on the fly" generiert. Weißt du (oder jemand anders) wie ich hier includes einschließen kann?

        in der Ausgabe eines CGI-Scripts kannst Du keine SSI einbinden: Der Server parsed eine Seite nur einmal, in dem Falle eben dadurch, daß es sich um ein Script handelt.

        Als Alternative kannst Du - sofern mod_perl auf Deinem Server installiert ist - das Modul Apache::Include (IIRC) benutzen, welches SSI simulieren kann.

        Ehrlich gesagt glaube ich aber nicht, daß Du mod_perl überhaupt installiert haben möchtest... ich habe zwar Matts Scripts noch nicht damit getestet, aber isch schätze mal einfach so, keines davon würde funktionieren.

        Cheatah

        1. hallo,
          besten dank für die neuerliche auskunft. Hab ich mir ja schon fast gedacht sowas. Kann man denn wohl nix machen.
          Ich werde die ssi elemente dann zu Fuß einbinden.
          dank
          ralf

          1. Ich werde die ssi elemente dann zu Fuß einbinden.

            Sind die SSI-Elemente mitten in Deinem Dokument drin, oder vielleicht am Anfang bzw. am Ende?
            Du kannst zwar nicht SSI in CGI einbinden, aber umgekehrt geht das sehr wohl.