Convert seconds to compound duration: Difference between revisions

Content added Content deleted
(Added PicoLisp)
No edit summary
Line 1,156: Line 1,156:
-666 ><
-666 ><
</pre>
</pre>

=={{header|freebasic}}==
<lang freebasic>


'FreeBASIC version 1.05 32/64 bit

Sub Show(m As Long)
Dim As Long c(1 To 5)={604800,86400,3600,60,1}
Dim As String g(1 To 5)={" Wk"," d"," hr"," min"," sec"},comma
Dim As Long b(1 To 5),flag,m2=m
Redim As Long s(0)
For n As Long=1 To 5
If m>=c(n) Then
Do
Redim Preserve s(Ubound(s)+1)
s(Ubound(s))=c(n)
m=m-c(n)
Loop Until m<c(n)
End If
Next n
For n As Long=1 To Ubound(s)
For m As Long=1 To 5
If s(n)=c(m) Then b(m)+=1
Next m
Next n
Print m2;" seconds = ";
For n As Long=1 To 5
If b(n) Then: comma=Iif(n<5 Andalso b(n+1),","," and"):flag+=1
If flag=1 Then comma=""
Print comma;b(n);g(n);
End If
Next
Print
End Sub

#define seconds

Show 7259 seconds
Show 86400 seconds
Show 6000000 seconds
sleep
</lang>
Output:
<pre>
7259 seconds = 2 hr and 59 sec
86400 seconds = 1 d
6000000 seconds = 9 Wk, 6 d, 10 hr and 40 min
</pre>






=={{header|Haskell}}==
=={{header|Haskell}}==