src/pylib/Lib/datetime_impl/timedelta_impl/meth

Source   Edit  

Types

FI = float | I_in_FI
Source   Edit  

Procs

func `$`(self: timedelta): string {....raises: [], tags: [], forbids: [].}

for timedelta.__str__

[D day[s], ][H]H:MM:SS[.UUUUUU], where D is negative for negative t.

Source   Edit  
func `%`(self, t: timedelta): timedelta {....raises: [], tags: [], forbids: [].}
Source   Edit  
func `*`(f: float; self: timedelta): timedelta {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
func `*`(i: int64; self: timedelta): timedelta {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
func `*`(self: timedelta; f: float): timedelta {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
func `*`(self: timedelta; i: int64): timedelta {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
func `+`(a, b: timedelta): timedelta {....raises: [], tags: [], forbids: [].}
Source   Edit  
func `+`(self: timedelta): timedelta {....raises: [], tags: [], forbids: [].}
Source   Edit  
func `-`(a, b: timedelta): timedelta {....raises: [], tags: [], forbids: [].}
Source   Edit  
func `-`(self: timedelta): timedelta {....raises: [], tags: [], forbids: [].}
Source   Edit  
func `/`(self: timedelta; i: int | float): timedelta
Source   Edit  
func `/`(self: timedelta; t: timedelta): float {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
func `//`(self: timedelta; i: int): timedelta {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
func `//`(self: timedelta; t: timedelta): int {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
func `==`(self: timedelta; o: timedelta): bool {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
func abs(self: timedelta): timedelta {....raises: [], tags: [], forbids: [].}
Source   Edit  
func days(self: timedelta): int64 {....raises: [], tags: [], forbids: [].}
Source   Edit  
func divmod(t1, t2: timedelta): (int64, timedelta) {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
func hash(self: timedelta): int {....raises: [], tags: [], forbids: [].}
Source   Edit  
func max(_: _`gensym1644167255:type): timedelta
Source   Edit  
func microseconds(self: timedelta): int64 {....raises: [], tags: [], forbids: [].}
Source   Edit  
func min(_: _`gensym1644167251:type): timedelta
Source   Edit  
func repr(self: timedelta): string {....raises: [], tags: [], forbids: [].}
Source   Edit  
func resolution(_: _`gensym1644167259:type): timedelta
Source   Edit  
func seconds(self: timedelta): int64 {....raises: [], tags: [], forbids: [].}
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 call

Example:

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