Datum anzeigen lassen in Perl

  • Ersteller aktivfrühstück
  • Erstellt am
A

aktivfrühstück

Eroberer
Hallo,

ich möchte mir mit Perl das Datum anzeigen lassen.

mit:

$date=localtime(time);

gibt es die Ausgabe: Thu Jul 26 09:57:53 2007

gibt es die Möglichkeit die Monatsangabe gleich in Zahlenform auszugeben??

ich benötige das Datum in der Form: 2007-07-26



Und zweitens:
gibt es eine Möglichkeit einen Kalender aufzurufen mit Perl?


gruß an alle
 
Zuletzt bearbeitet:
perl Funktion fürs Datum

Hallo,

ich habe mir eine eigene Funktion geschrieben, die Du für Deine Zwecke wie folgt aufrufen kannst:

my $mydate = &datum_zeit("J-M-D");

Vielleicht kannst Du damit etwas anfangen.

Grüße,
MathiKo

## Liefert aktuelles Datum und aktuelle Uhrzeit
## INPUT:
## J = 4-stellige Jahreszahl
## M = 2-steller Monat
## D = 2-stelliger Tag
## T = 1-stellig Wochentag 0=Sonntag ... 6=Sonnabend
## h = 2-stellige Stunde
## m = 2-stellige Minute
## s = 2-stellige Sekunde
#
# Standardausgabe: JMD_hms

sub datum_zeit{

my $p=$_[0];
my %DATUM_ZEIT;
my $timeparameter;
my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat, $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
$Monat+=1;
$Jahrestag+=1;
$Monat = $Monat < 10 ? $Monat = "0".$Monat : $Monat;
$Monatstag = $Monatstag < 10 ? $Monatstag = "0".$Monatstag : $Monatstag;
$Stunden = $Stunden < 10 ? $Stunden = "0".$Stunden : $Stunden;
$Minuten = $Minuten < 10 ? $Minuten = "0".$Minuten : $Minuten;
$Sekunden = $Sekunden < 10 ? $Sekunden = "0".$Sekunden : $Sekunden;
$Jahr+=1900;

$DATUM_ZEIT{'J'}=$Jahr;
$DATUM_ZEIT{'M'}=$Monat;
$DATUM_ZEIT{'D'}=$Monatstag;
$DATUM_ZEIT{'h'}=$Stunden;
$DATUM_ZEIT{'m'}=$Minuten;
$DATUM_ZEIT{'s'}=$Sekunden;
$DATUM_ZEIT{'T'}=$Wochentag;

if ($p){
$p=~s/(J|M|D|h|m|s|T)/$DATUM_ZEIT{$1}/g, while ($p=~/J|M|D|h|m|s|T/);
}
else{
$p=$Jahr.$Monat.$Monatstag.'_'.$Stunden.$Minuten.$Sekunden;
}
return $p;
}
 
@mathiko: in allen Ehren deine Funktion, aber wieso nehmt ihr nicht die Sache von CPAN oder builtins? Sind 1. performanter und 2. besser getestet. :)
 
Hallo
Code:
perl -le 'printf "%04d-%02d-%02d\n",((localtime)[5] +1900),((localtime)[4] +1),(localtime)[3]'

Gruß Wolfgang
 

Ähnliche Themen

Last mit etc/passwd anzeigen lassen

Problem mit Apache2 + MySQL Server

Nur "normale Dateien" anzeigen per ls

Jaunty + Zend + Gdata + xampp

Cardreader automount?

Zurück
Oben