calendar

Calendar Utilities

Functions

FunctionDescription
_cal_is_leapInternal: leap year check.
_cal_dimInternal: days in month.
_cal_dateInternal: days since epoch (1970-01-01 = day 0).
_cal_copyInternal: copy literal.
cal_weekdayDay of week for a date. 0=Monday, 6=Sunday. Uses Tomohiko Sakamoto’s algorithm.
cal_is_leapCheck leap year.
cal_days_in_monthDays in month.
cal_day_nameGet day name (0=Mon..6=Sun). Returns length written.
cal_month_nameGet month name (1-12). Returns length written.
_cal_write_dayInternal: write 2-char number right-aligned.
cal_month_strGenerate a month calendar string. Returns length. Format: “Mo Tu We Th Fr Sa …

Details

_cal_is_leap

fn _cal_is_leap(year: i64) -> i64

Internal: leap year check.

_cal_dim

fn _cal_dim(year: i64, month: i64) -> i64

Internal: days in month.

_cal_date

fn _cal_date(year: i64, month: i64, day: i64) -> i64

Internal: days since epoch (1970-01-01 = day 0).

_cal_copy

fn _cal_copy(dst: &i8, doff: i64, src: &i8, len: i64) -> i64

Internal: copy literal.

cal_weekday

fn cal_weekday(year: i64, month: i64, day: i64) -> i64

Day of week for a date. 0=Monday, 6=Sunday. Uses Tomohiko Sakamoto’s algorithm.

cal_is_leap

fn cal_is_leap(year: i64) -> i64

Check leap year.

cal_days_in_month

fn cal_days_in_month(year: i64, month: i64) -> i64

Days in month.

cal_day_name

fn cal_day_name(dow: i64, out: &i8) -> i64

Get day name (0=Mon..6=Sun). Returns length written.

cal_month_name

fn cal_month_name(month: i64, out: &i8) -> i64

Get month name (1-12). Returns length written.

_cal_write_day

fn _cal_write_day(out: &i8, pos: i64, day: i64) -> i64

Internal: write 2-char number right-aligned.

cal_month_str

fn cal_month_str(year: i64, month: i64, out: &i8, max: i64) -> i64

Generate a month calendar string. Returns length. Format: “Mo Tu We Th Fr Sa Su\n 1 2 3 …”