Is there a function to convert a specified number of seconds into a week/day/hour/minute/second time format in vbscript?
eg: 969234 seconds = 1wk 4days 5hrs 13mins 54secs
Is there a function to convert a specified number of seconds into a week/day/hour/minute/second time format in vbscript?
eg: 969234 seconds = 1wk 4days 5hrs 13mins 54secs
Dim myDate
dim noWeeks
dim noDays
dim tempWeeks
dim pos 
myDate = DateAdd("s",969234,CDate(0))
tempWeeks = FormatNumber(myDate / 7,10)
pos = instr(tempWeeks, ".")
if pos > 1 then
    tempWeeks = left(myDate, pos -1)
end if
noWeeks = Cint(tempWeeks)
noDays = Cint(((myDate / 7) - noWeeks) * 7)
wscript.echo noWeeks & "wk " & noDays & "days " & datepart("h", myDate) & "hrs " & datepart("n", myDate) & "mins " & datepart("s", myDate) & "secs"
No built in function to do that.
Here is a quick and dirty one:-
Function SecondsToString(totalSeconds)
 Dim work : work = totalSeconds
 Dim seconds
 Dim minutes
 Dim hours
 Dim days
 Dim weeks
 seconds = work Mod 60
 work = work \ 60
 minutes = work Mod 60
 work = work \ 60
 hours = work Mod 24
 work = work \ 24
 days = work Mod 7
 work = work \ 7
 weeks = work
 Dim s: s = ""
 Dim renderStarted: renderStarted = False
 If (weeks <> 0) Then
  renderStarted = True
  s = s & CStr(weeks)
  If (weeks = 1) Then
   s = s & "wk "
  Else
   s = s & "wks "
  End If
 End If
 If (days <> 0 OR renderStarted) Then
  renderStarted = True
  s = s & CStr(days)
  If (days = 1) Then
   s = s & "day "
  Else
   s = s & "days "
  End If
 End If
 If (hours <> 0 OR renderStarted) Then
  renderStarted = True
  s = s & CStr(hours)
  If (hours = 1) Then
   s = s & "hr "
  Else
   s = s & "hrs "
  End If
 End If
 If (minutes <> 0 OR renderStarted) Then
  renderStarted = True
  s = s & CStr(minutes)
  If (minutes = 1) Then
   s = s & "min "
  Else
   s = s & "mins "
  End If
 End If
 s = s & CStr(seconds)
 If (seconds = 1) Then
  s = s & "sec "
 Else
  s = s & "secs "
 End If
 SecondsToString = s
End Function