mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
time: move - operator to operator.v (#7433)
This commit is contained in:
parent
c69947160b
commit
c639dd03d0
@ -44,3 +44,11 @@ pub fn (t1 Time) gt(t2 Time) bool {
|
|||||||
pub fn (t1 Time) ge(t2 Time) bool {
|
pub fn (t1 Time) ge(t2 Time) bool {
|
||||||
return t1.gt(t2) || t1.eq(t2)
|
return t1.gt(t2) || t1.eq(t2)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Time subtract using eperator 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
|
||||||
|
}
|
||||||
|
@ -367,3 +367,25 @@ fn test_time2_copied_from_time1_should_be_equal() {
|
|||||||
t2 := new_time(t1)
|
t2 := new_time(t1)
|
||||||
assert t2.eq(t1)
|
assert t2.eq(t1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn test_subtract() {
|
||||||
|
d_seconds := 3
|
||||||
|
d_microseconds := 13
|
||||||
|
duration := d_seconds * second + d_microseconds * microsecond
|
||||||
|
t1 := new_time(Time{
|
||||||
|
year: 2000
|
||||||
|
month: 5
|
||||||
|
day: 10
|
||||||
|
hour: 22
|
||||||
|
minute: 11
|
||||||
|
second: 3
|
||||||
|
microsecond: 100
|
||||||
|
})
|
||||||
|
t2 := unix2(int(t1.unix) + d_seconds, t1.microsecond + d_microseconds)
|
||||||
|
d1 := t2 - t1
|
||||||
|
d2 := t1 - t2
|
||||||
|
assert d1 > 0
|
||||||
|
assert d1 == duration
|
||||||
|
assert d2 < 0
|
||||||
|
assert d2 == -duration
|
||||||
|
}
|
||||||
|
@ -355,13 +355,6 @@ pub fn (t Time) str() string {
|
|||||||
return t.format_ss()
|
return t.format_ss()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Time subtract using eperator overloading
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
fn convert_ctime(t C.tm, microsecond int) Time {
|
fn convert_ctime(t C.tm, microsecond int) Time {
|
||||||
return Time{
|
return Time{
|
||||||
year: t.tm_year + 1900
|
year: t.tm_year + 1900
|
||||||
|
@ -177,20 +177,6 @@ fn test_str() {
|
|||||||
assert '1980-07-11 21:23:42' == time_to_test.str()
|
assert '1980-07-11 21:23:42' == time_to_test.str()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn test_subtract() {
|
|
||||||
d_seconds := 3
|
|
||||||
d_microseconds := 13
|
|
||||||
duration := d_seconds * time.second + d_microseconds * time.microsecond
|
|
||||||
t1 := time_to_test
|
|
||||||
t2 := time.unix2(int(t1.unix) + d_seconds, t1.microsecond + d_microseconds)
|
|
||||||
d1 := t2 - t1
|
|
||||||
d2 := t1 - t2
|
|
||||||
assert d1 > 0
|
|
||||||
assert d1 == duration
|
|
||||||
assert d2 < 0
|
|
||||||
assert d2 == -duration
|
|
||||||
}
|
|
||||||
|
|
||||||
// not optimal test but will find obvious bugs
|
// not optimal test but will find obvious bugs
|
||||||
fn test_now() {
|
fn test_now() {
|
||||||
now := time.now()
|
now := time.now()
|
||||||
|
Loading…
Reference in New Issue
Block a user