Jump to content

Convert seconds to compound duration: Difference between revisions

no edit summary
(Added PicoLisp)
No edit summary
Line 1,156:
-666 ><
</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}}==
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.