Procs
func microseconds(self: timedelta): int64 {....raises: [], tags: [], forbids: [].}
- Source Edit
func resolution(_: _`gensym1644167259:type): timedelta
- Source Edit
func timedelta(days: FI = 0; seconds: FI = 0; microseconds: FI = 0; milliseconds: FI = 0; minutes: FI = 0; hours: FI = 0; weeks: FI = 0): timedelta
-
Example:
template eq(a, b) = assert a == b template td(xs: varargs[untyped]): untyped = timedelta(xs) # from CPython/tests/datetimetester.py eq(td(weeks=1.0/7), td(days=1)) eq(td(days=1.0/24), td(hours=1)) eq(td(hours=1.0/60), td(minutes=1)) eq(td(minutes=1.0/60), td(seconds=1)) eq(td(seconds=0.001), td(milliseconds=1)) eq(td(milliseconds=0.001), td(microseconds=1))
Source Edit func timedelta(days: int64; seconds = 0'i64; microseconds = 0'i64; milliseconds = 0'i64; minutes = 0'i64; hours = 0'i64; weeks = 0'i64): timedelta {....raises: [], tags: [], forbids: [].}
-
timedelta with int-only arguments
See timedelta that accepts mixin float and int as arguments
Hint: if setting default value for days(a.k.a. days=0), timedelta() will fail to be compiled due to ambiguous callExample:
template eq(a, b) = assert a == b template td(xs: varargs[untyped]): untyped = timedelta(xs) # Check keyword args to constructor eq(timedelta(), td(weeks=0, days=0, hours=0, minutes=0, seconds=0, milliseconds=0, microseconds=0)) eq(td(1), td(days=1)) eq(td(0, 1), td(seconds=1)) eq(td(0, 0, 1), td(microseconds=1)) eq(td(weeks=1), td(days=7)) eq(td(days=1), td(hours=24)) eq(td(hours=1), td(minutes=60)) eq(td(minutes=1), td(seconds=60)) eq(td(seconds=1), td(milliseconds=1000)) eq(td(milliseconds=1), td(microseconds=1000))
Source Edit func total_seconds(self: timedelta): float {....raises: [], tags: [], forbids: [].}
- timedelta.total_seconds() Source Edit