| constructor --h/int= --m/int= --s/int= --ms/int= --us/int= --ns/int= | Constructs a duration of h hours, m minutes, ms milliseconds, us microseconds, and ns nanoseconds. |
|---|---|
| constructor ns_/int | Constructs a duration of ns_ nanoseconds. |
Stopwatch: DartDate difference: JavaScript
print (Duration.parse "1h2m3s") // >> 1h2m3s
print (Duration.parse "1h2m3.4s") // >> 1h2m3.4s
print (Duration.parse "1h2m3.4s5ms") // >> 1h2m3.4s5ms
print (Duration.parse "1h2m3.4s5ms6us") // >> 1h2m3.4s5ms6us
print (Duration.parse "66m") // >> 1h6m
print (Duration.parse "-1h") // >> -1h
main:
// In this example, we assume the time is 2021-04-21 15:30:35 UTC.
time := Time.utc --year=2021 --month=04 --day=21 --h=17 --m=45 --s=35b
print
Duration.until time // >> 2h15m0s
time = Time.utc --year=2021 --month=04 --day=21 --h=14 --m=45 --s=35b
print
Duration.until time // >> -45m0s
t_12s := Duration --s=12
t_5s := Duration --s=5
print t_12s - t_5s // >> 7s
print t_5s - t_12s // >> -7s
t_5s := Duration --s=5
print -t_5s // >> -5s
print -(-t_5) // >> 5s
t_5s := Duration --s=5
print t_5s * 2 // 10s
print t_5s * -3 // -15s
print 5 * t_5s // Error, num's * does not know Duration!
t_9s := Duration --s=9
print t_9s / 3 // >> 3s
t_12s := Duration --s=12
t_5s := Duration --s=5
print t_12s + t_5s // >> 17s
t_42ns := Duration --ns=42
print t_12s + t_42ns // >> 12.000000042s
d_5ns := Duration --ns=5
d_12s := Duration --s=12
d_5ns < d_5ns // => false
d_12s < d_5ns // => false
d_5ns < d_12s // => true
d_5ns := Duration --ns=5
d_12s := Duration --s=12
d_5ns <= d_5ns // => true
d_5ns <= d_12s // => true
d_12s <= d_5ns // => false
d_5ns := Duration --ns=5
d_12s := Duration --s=12
d_5ns == d_5ns // => true
d_12s == t_5ns // => false
d_5ns := Duration --ns=5
d_12s := Duration --s=12
d_5ns > d_5ns // => false
d_5ns > d_12s // => false
d_12s > d_5ns // => true
d_5ns := Duration --ns=5
d_12s := Duration --s=12
d_5ns >= d_12s // => false
d_5ns >= d_5ns // => true
d_12s >= d_5ns // => true