Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,28 @@
|
|||
from strutils import addSep
|
||||
|
||||
const
|
||||
Units = [" wk", " d", " hr", " min", " sec"]
|
||||
Quantities = [7 * 24 * 60 * 60, 24 * 60 * 60, 60 * 60, 60, 1]
|
||||
|
||||
#---------------------------------------------------------------------------------------------------
|
||||
|
||||
proc `$$`*(sec: int): string =
|
||||
## Convert a duration in seconds to a friendly string.
|
||||
|
||||
doAssert(sec > 0)
|
||||
|
||||
var duration = sec
|
||||
var idx = 0
|
||||
while duration != 0:
|
||||
let q = duration div Quantities[idx]
|
||||
if q != 0:
|
||||
duration = duration mod Quantities[idx]
|
||||
result.addSep(", ", 0)
|
||||
result.add($q & Units[idx])
|
||||
inc idx
|
||||
|
||||
#———————————————————————————————————————————————————————————————————————————————————————————————————
|
||||
|
||||
when isMainModule:
|
||||
for sec in [7259, 86400, 6000000]:
|
||||
echo sec, "s = ", $$sec
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
import times
|
||||
from algorithm import reversed
|
||||
from strutils import addSep
|
||||
|
||||
const Units = [" wk", " d", " hr", " min", " sec"]
|
||||
|
||||
#---------------------------------------------------------------------------------------------------
|
||||
|
||||
proc `$$`*(sec: int): string =
|
||||
## Convert a duration in seconds to a friendly string.
|
||||
## Similar to `$` but with other conventions.
|
||||
|
||||
doAssert(sec > 0)
|
||||
|
||||
var duration = initDuration(seconds = sec)
|
||||
let parts = reversed(duration.toParts[Seconds..Weeks])
|
||||
|
||||
for idx, part in parts:
|
||||
if part != 0:
|
||||
result.addSep(", ", 0)
|
||||
result.add($part & Units[idx])
|
||||
|
||||
#———————————————————————————————————————————————————————————————————————————————————————————————————
|
||||
|
||||
when isMainModule:
|
||||
for sec in [7259, 86400, 6000000]:
|
||||
echo sec, "s = ", $$sec
|
||||
Loading…
Add table
Add a link
Reference in a new issue