Hi,
nachdem ich die Differenz zweier Daten errechnet habe, möchte ich nun gerne wieder daraus (aus diesen epochseconds) Jahre, Monate, Wochen, Tage, Stunden, Minuten, Sekunden errechnen, allerdings ohne Date::Calc, weil ich diese Möglichkeit leider nicht nutzen kann :-((
Wie kann ich das machen?
Danke für Hilfe.
Franko
Hi Franko,
nimm diese Subroutine:
sub zeitumrechner {
This subroutine was written by Mikki (www.login-computer.de)
mikki@login-computer.de
Feel free to use it in your scripts
$_ = shift;
##################################################
#Jahre rausziehen
if ($_ > 31536000) {
$Jahre = int($_/31536000);
$_ = $_-($Jahre*31536000);
} # End if ($_ > 31536000)
##################################################
#Monate rausziehen
if ($_ > 2635200) {
$Monate = int($_/2635200);
$_ = $_-($Monate*2635200);
} # End if ($_ > 2635200)
##################################################
#Wochen rausziehen
if ($_ > 604800) {
$Wochen = int($_/604800);
$_ = $_-($Wochen*604800);
} # End if ($_ > 604800)
##################################################
#Tage rausziehen
if ($_ > 86400) {
$Tage = int($_/86400);
$_ = $_-($Tage*86400);
} # End if ($_ > 86400)
##################################################
#Stunden rausziehen
if ($_ > 3600) {
$Stunden = int($_/3600);
$_ = $_-($Stunden*3600);
} # End if ($_ > 3600)
##################################################
#Minuten rausziehen
if ($_ > 60) {
$Minuten = int($_/60);
$_ = $_-($Minuten*60);
} # End if ($_ > 60)
##################################################
#Sekunden bleiben übrig
$Sekunden = $_;
if ($Jahre < 1) { $Jahre = ""; } elsif ($Jahre == 1) { $Jahre = "1 Jahr,"; } else { $Jahre = "$Jahre Jahre,"; }
if ($Monate < 1) { $Monate = ""; } elsif ($Monate == 1) { $Monate = "1 Monat,"; } else { $Monate = "$Monate Monate,"; }
if ($Wochen < 1) { $Wochen = ""; } elsif ($Wochen == 1) { $Wochen = "1 Woche,"; } else { $Wochen = "$Wochen Wochen,"; }
if ($Tage < 1) { $Tage = ""; } elsif ($Tage == 1) { $Tage = "1 Tag,"; } else { $Tage = "$Tage Tage,"; }
if ($Stunden < 1) { $Stunden = ""; } elsif ($Stunden == 1) { $Stunden = "1 Stunde,"; } else { $Stunden = "$Stunden Stunden,"; }
if ($Minuten < 1) { $Minuten = ""; } elsif ($Minuten == 1) { $Minuten = "1 Minute,"; } else { $Minuten = "$Minuten Minuten,"; }
if ($Sekunden < 1) { $Sekunden = ""; } elsif ($Sekunden == 1) { $Sekunden = "1 Sekunde"; } else { $Sekunden = "$Sekunden Sekunden"; }
$ZEIT = "$Jahre $Monate $Wochen $Tage $Stunden $Minuten $Sekunden";
return $ZEIT;
} # End SR
'Werde bei Gelegenheit mal 'ne elegantere Singular-Plurallösung einbauen :-))
Grüße
Mikki