v/vlib/time/operator.v

22 lines
660 B
V
Raw Normal View History

module time
2021-01-05 11:43:34 +01:00
// operator `==` returns true if provided time is equal to time
2020-06-10 11:14:55 +02:00
[inline]
2021-01-05 11:43:34 +01:00
pub fn (t1 Time) == (t2 Time) bool {
return t1.unix == t2.unix && t1.microsecond == t2.microsecond
}
2021-01-05 11:43:34 +01:00
// operator `<` returns true if provided time is less than time
[inline]
2021-01-05 11:43:34 +01:00
pub fn (t1 Time) < (t2 Time) bool {
return t1.unix < t2.unix || (t1.unix == t2.unix && t1.microsecond < t2.microsecond)
}
2021-01-13 15:30:54 +01:00
// Time subtract using operator overloading.
[inline]
pub fn (lhs Time) - (rhs Time) Duration {
lhs_micro := lhs.unix * 1000 * 1000 + u64(lhs.microsecond)
rhs_micro := rhs.unix * 1000 * 1000 + u64(rhs.microsecond)
return (i64(lhs_micro) - i64(rhs_micro)) * microsecond
}