Veröffentlicht 8. Mai 200322 j Hallo... Also, ich kann mir gut vorstellen, daß diese Frage recht banal ist, aber kann mir jemand eine bessere Lösung für dieses Konstrukt zeigen: $time = localtime(); (@Zeit)=split(/ /,$time); if (@Zeit[1] eq 'Jan') {@Zeit[1] = 1;} if (@Zeit[1] eq 'Feb') {@Zeit[1] = 2;} if (@Zeit[1] eq 'Mar') {@Zeit[1] = 3;} if (@Zeit[1] eq 'Apr') {@Zeit[1] = 4;} if (@Zeit[1] eq 'May') {@Zeit[1] = 5;} if (@Zeit[1] eq 'Jun') {@Zeit[1] = 6;} if (@Zeit[1] eq 'Jul') {@Zeit[1] = 7;} if (@Zeit[1] eq 'Aug') {@Zeit[1] = 8;} if (@Zeit[1] eq 'Sep') {@Zeit[1] = 9;} if (@Zeit[1] eq 'Oct') {@Zeit[1] = 10;} if (@Zeit[1] eq 'Nov') {@Zeit[1] = 11;} if (@Zeit[1] eq 'Dec') {@Zeit[1] = 12;} $Datum = "@Zeit[3].@Zeit[1].@Zeit[5]"; Danke für eure Hilfe :-))) Jestertales
24. Mai 200322 j Hallo, hier ist das was du suchst. ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); $year += 1900; # da Jahr 1900 = Jahr 0 in Perl-Zeit ist $mon += 1; # da Index 0-11 Wenn du auch noch die Datumsausgabe formatieren willst, dann hilft dir printf/sprintf. cya alligator
25. Mai 200322 j Original geschrieben von Jestertales Also, ich kann mir gut vorstellen, daß diese Frage recht banal ist, aber kann mir jemand eine bessere Lösung für dieses Konstrukt zeigen: Wenn es nur um das Konstrukt geht, ist es besser ein assoziatives Array zu nehmen. %monate = ("Jan" => 1,"Feb" => 2,"Mar" => 3); @Zeit[1] =$monate{@Zeit[1]}; // ungetestet, kann sein das in die geschweiften Klammern noch Hochkommata oder so müssen. Direkt ne Datumsfunktion zu nutzen, ist aber falls möglich die beste Lösung. Gruß Jaraz
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.