From 49ebba535e663797ef4c55e539fd045071e10a63 Mon Sep 17 00:00:00 2001 From: Delyan Angelov Date: Sun, 24 Oct 2021 21:36:28 +0300 Subject: [PATCH] time: implement `pub fn since(t Time) Duration` --- vlib/time/time.v | 7 +++---- vlib/time/time_test.v | 10 ++++++++++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/vlib/time/time.v b/vlib/time/time.v index 71eb96c58f..6e445c0f07 100644 --- a/vlib/time/time.v +++ b/vlib/time/time.v @@ -121,10 +121,9 @@ pub fn (t Time) add_days(days int) Time { return t.add(days * 24 * time.hour) } -// since returns a number of seconds elapsed since a given time. -fn since(t Time) int { - // TODO Use time.Duration instead of seconds - return 0 +// since returns the time duration elapsed since a given time. +pub fn since(t Time) Duration { + return now() - t } // relative returns a string representation of the difference between t diff --git a/vlib/time/time_test.v b/vlib/time/time_test.v index 056fa1f1ef..66da15b459 100644 --- a/vlib/time/time_test.v +++ b/vlib/time/time_test.v @@ -244,3 +244,13 @@ fn test_offset() { assert diff_seconds == time.offset() } + +fn test_since() { + t1 := time.now() + time.sleep(20 * time.millisecond) + d1 := time.since(t1) + assert d1 >= 20_000_000 + time.sleep(20 * time.millisecond) + d2 := time.since(t1) + assert d2 >= 40_000_000 +}