| CLOCK(9) | Kernel Developer's Manual | CLOCK(9) |
days_in_month,
is_leap_year, days_per_year
— handy time utilities
#include
<sys/clock.h>
#define SECS_PER_MINUTE 60
#define SECS_PER_HOUR 3600
#define SECS_PER_DAY 86400
#define DAYS_PER_COMMON_YEAR 365
#define DAYS_PER_LEAP_YEAR 366
#define SECS_PER_COMMON_YEAR (SECS_PER_DAY *
DAYS_PER_COMMON_YEAR)
#define SECS_PER_LEAP_YEAR (SECS_PER_DAY *
DAYS_PER_LEAP_YEAR)
static inline int
days_in_month(int
m);
static inline int
is_leap_year(uint64_t
year);
static inline int
days_per_year(uint64_t
year);
The <sys/clock.h>
file provides handy time constants and static inline
functions.
The
days_in_month()
function returns the number of days in the given month.
days_in_month() assumes 28 days for February. If the
input value is out of the valid range (1-12) then the function returns
-1.
The
is_leap_year()
and
days_per_year()
functions take as the input parameter a value in the Gregorian year
format.
bintime(9), boottime(9), time_second(9), time_uptime(9), todr_gettime(9)
The <sys/clock.h>
header with handy utilities originated from
<dev/clock_subr.h>, which
originated from
<arch/hp300/hp300/clock.c>.
The
<arch/hp300/hp300/clock.c>
file first appeared in NetBSD 0.8 as a set of hp300
time-converting functions.
<dev/clock_subr.h> first
appeared in NetBSD 1.3 as a shared list of functions
to convert between “year/month/day/hour/minute/second” and
seconds since 1970 (“POSIX time”). The
<sys/clock.h> file first
appeared in NetBSD 8.
Kamil Rytarowski
| December 26, 2014 | NetBSD 11.0 |