/ Forside / Teknologi / Udvikling / Perl / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Perl
#NavnPoint
bjarneA 141
poul_from 50
soccer 30
Nicknack 14
Tmpj 0
Konvertere sekunder til tekst
Fra : Hans Jørgen Jakobsen


Dato : 31-08-01 22:37

Jeg har forgæves ledt efter en (perl) funktion der kan
konvertere sekunder til tekst med en begrænset nøjagtighed.
fx:
1 -> 1s
60 -> 1m
3600 -> 1t
86400 -> 1d
86400+3600 -> 1d 1t
86400+3600+60 -> 1d 1t

/hjj

 
 
hal9000 (01-09-2001)
Kommentar
Fra : hal9000


Dato : 01-09-01 14:30

Hans Jørgen Jakobsen wrote:
>
> Jeg har forgæves ledt efter en (perl) funktion der kan
> konvertere sekunder til tekst med en begrænset nøjagtighed.
> fx:
> 1 -> 1s
> 60 -> 1m
> 3600 -> 1t
> 86400 -> 1d
> 86400+3600 -> 1d 1t
> 86400+3600+60 -> 1d 1t
>
> /hjj

Det kommer an på hvad du mener med "en begrænset nøjagtighed". Hvis det
er, at der højst er 2 enheder, og at der rundes ned til dette, så kan du
bruge følgende sub (som anvender POSIX::floor):

sub tidtek
{ my $t = shift; my $ret = '';
$_ = $t %60; $t = floor($t /60);
$ret = $_.'s '.$ret if $_ !=0;
$_ = $t %60; $t = floor($t /60);
$ret = $_.'m '.$ret if $_ !=0;
$_ = $t %24; $t = floor($t /24);
$ret = $_.'t '.$ret if $_ !=0;
$ret = $t.'d '.$ret if $t !=0;
$ret =~ s/^(\S+\s\S+).*/$1/;
return $ret;
};

--
hal9000 ~~ mailto:hal9000@fetchmail.com

Lars Balker Rasmusse~ (01-09-2001)
Kommentar
Fra : Lars Balker Rasmusse~


Dato : 01-09-01 15:23

hal9000 <hal9000@fetchmail.com> writes:
> bruge følgende sub (som anvender POSIX::floor):

Man kan evt. bare bruge int($t / 60)
--
Lars Balker Rasmussen "Woo hoo!?"

Hans Jørgen Jakobsen (01-09-2001)
Kommentar
Fra : Hans Jørgen Jakobsen


Dato : 01-09-01 15:57

On Sat, 01 Sep 2001 14:29:35 +0100, hal9000 wrote:

> sub tidtek

Tak, det var det jeg ledte efter.

/hjj

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste