Mikki: epochseconds in Jahre,Monate,Wochen.. umrechnen ohne Date::Calc

Beitrag lesen

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