From b3e5c89ba97b676e353c61640069c5866f587bb4 Mon Sep 17 00:00:00 2001 From: nxshock Date: Wed, 3 Jul 2019 21:55:07 +0500 Subject: [PATCH] time: add is_leap_year(year int) --- vlib/time/time.v | 5 +++++ vlib/time/time_test.v | 17 +++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 vlib/time/time_test.v diff --git a/vlib/time/time.v b/vlib/time/time.v index 281fa6ad24..971a98dfe3 100644 --- a/vlib/time/time.v +++ b/vlib/time/time.v @@ -319,3 +319,8 @@ pub fn sleep_ms(n int) { C.usleep(n * 1000) } } + +// Determine whether a year is a leap year. +pub fn is_leap_year(year int) bool { + return (year%4 == 0) && (year%100 != 0 || year%400 == 0) +} \ No newline at end of file diff --git a/vlib/time/time_test.v b/vlib/time/time_test.v new file mode 100644 index 0000000000..6f58eeb4c5 --- /dev/null +++ b/vlib/time/time_test.v @@ -0,0 +1,17 @@ +import time + +fn test_is_leap_year() { + assert time.is_leap_year(1700) == false + assert time.is_leap_year(1800) == false + assert time.is_leap_year(1900) == false + + assert time.is_leap_year(1600) == true + assert time.is_leap_year(2000) == true + + assert time.is_leap_year(2100) == false + assert time.is_leap_year(2200) == false + assert time.is_leap_year(2300) == false + + assert time.is_leap_year(1996) == true + assert time.is_leap_year(1997) == false +} \ No newline at end of file