# Count Up Timer?

Sean Cole sean at pidigital.co.uk
Tue Nov 2 11:56:41 EDT 2021

```Tidy. Took 10 seconds:

--------------------------------------------------------------------------
function TimeDisplay HowMany,DisplayHow
if DisplayHow = "Duration" then
//
if AppStarterStackSettings["default"]["Time Unit"] = "seconds" then

return round(HowMany / 1000,3) & "s"
else if AppStarterStackSettings["default"]["Time Unit"] =
"milliseconds" then
return HowMany & "ms"
else if AppStarterStackSettings["default"]["Time Unit"] =
"microseconds" then
end if
else if DisplayHow = "Human Readable" then
//
local final_output = "<d> days <hh>:<mm>:<ss>"
local running_second_count
local next_calculation

set itemdelimiter to "." -- we are looking at boths sides of the
decimal place
put round(HowMany / 1000) into HowMany -- convert to seconds

// 86,400 seconds in an day
// 3600 in an hour
// 60 seonds in a minute
// replace counts as you go

-- days
put HowMany / 86400 into next_calculation
if next_calculation < 1 then
put HowMany into running_second_count
replace "<d>" with "0" in final_output
else
// how many days?
replace "<d>" with item 1 of next_calculation in final_output

put (HowMany) - (item 1 of next_calculation * 86400) into
running_second_count
end if

-- hours
put running_second_count / 3600 into next_calculation
if next_calculation < 1 then
replace "<hh>" with "00" in final_output
else
// how many hours?
if the number of characters in item 1 of next_calculation = 1 then

replace "<hh>" with "0" & item 1 of next_calculation in
final_output
else
replace "<hh>" with item 1 of next_calculation in final_output

end if
put (running_second_count) - (item 1 of next_calculation * 3600)
into running_second_count
end if

-- minutes
put running_second_count / 60 into next_calculation
if next_calculation < 1 then
replace "<mm>" with "00" in final_output
else
// how many minutes?
if the number of characters in item 1 of next_calculation = 1 then

replace "<mm>" with "0" & item 1 of next_calculation in
final_output
else
replace "<mm>" with item 1 of next_calculation in final_output
end if
put (running_second_count) - (item 1 of next_calculation * 60)
into running_second_count
end if

-- seconds
put running_second_count into next_calculation
if next_calculation < 1 then
replace "<ss>" with "00" in final_output
else
// how many minutes?
if the number of characters in item 1 of next_calculation = 1 then
replace "<ss>" with "0" & next_calculation in final_output
else
replace "<ss>" with next_calculation in final_output
end if
end if
end if

//

return final_output
end TimeDisplay
---------------------------------------------------------------

```