calendar :: proc ( value : Date, min := Date {}, max := Date {}, key := "" ) -> ( Date, bool )
date_add_days :: proc ( d : Date, n : int ) -> Date
date_add_months :: proc ( d : Date, n : int ) -> Date
date_compare :: proc ( a , b : Date ) -> int
date_days_in_month :: proc ( year , month : int ) -> int
date_diff :: proc ( a , b : Date ) -> int
date_field :: proc ( value : Date, min := Date {}, max := Date {}, placeholder := "" , disabled := false , key := "" ) -> ( Date, bool )
date_format :: proc ( d : Date ) -> string
date_is_leap :: proc ( year : int ) -> bool
date_parse :: proc ( s : string ) -> ( Date, bool )
date_text :: proc ( d : Date ) -> string
date_valid :: proc ( d : Date ) -> bool
date_weekday :: proc ( d : Date ) -> int
locale_de :: proc () -> Locale
locale_en :: proc () -> Locale
year , month , day : int , // month 1..12, day 1..31
A calendar day. The zero value means “no date”.
Field Type Notes yearintmonth 1..12, day 1..31 monthintmonth 1..12, day 1..31 dayintmonth 1..12, day 1..31
Source: kiln/date.odin:20
weekdays : [ 7 ] string , // short, Monday first: "Mo", "Tu", ...
first_weekday : int , // first column of the calendar: 0 = Monday, 6 = Sunday
date_pattern : string , // how `date_text` writes a date; YYYY, MM and DD are replaced
Names and conventions for dates, part of the theme’s metrics.
Field Type Notes months[12]stringweekdays[7]stringshort, Monday first: “Mo”, “Tu”, … first_weekdayintfirst column of the calendar: 0 = Monday, 6 = Sunday date_patternstringhow date_text writes a date; YYYY, MM and DD are replaced
Source: kiln/date.odin:25
calendar :: proc ( value : Date, min := Date {}, max := Date {}, key := "" ) -> ( Date, bool )
A month view to pick a day from. Days outside min / max (zero = no limit) are drawn faint
and cannot be picked. While the pointer is over it, the arrow keys move a focus, Page Up /
Page Down switch the month and Enter picks the focused day.
Argument Type Default valueDaterequired minDateDate{}maxDateDate{}keystring""
Source: kiln/date.odin:243
date_add_days :: proc ( d : Date, n : int ) -> Date
Argument Type Default dDaterequired nintrequired
Source: kiln/date.odin:100
date_add_months :: proc ( d : Date, n : int ) -> Date
Moves by whole months and clamps the day: 31 Jan + 1 month = 28 or 29 Feb.
Argument Type Default dDaterequired nintrequired
Source: kiln/date.odin:105
date_compare :: proc ( a , b : Date ) -> int
-1, 0 or 1.
Argument Type Default aDaterequired bDaterequired
Source: kiln/date.odin:118
date_days_in_month :: proc ( year , month : int ) -> int
Argument Type Default yearintrequired monthintrequired
Source: kiln/date.odin:84
date_diff :: proc ( a , b : Date ) -> int
Days from a to b (negative if b is earlier).
Argument Type Default aDaterequired bDaterequired
Source: kiln/date.odin:113
A field showing the date (or the placeholder); a click opens a calendar below it, or above
when there is no room below. Picking a day closes it.
if d , ok := kiln . date_field ( m . birthday , max = kiln . today ()); ok { append ( out , Set_Birthday { d } )}
Argument Type Default valueDaterequired minDateDate{}maxDateDate{}placeholderstring""disabledboolfalsekeystring""
Source: kiln/date.odin:260
date_format :: proc ( d : Date ) -> string
“2026-10-26”, in the temp allocator.
Argument Type Default dDaterequired
Source: kiln/date.odin:138
date_is_leap :: proc ( year : int ) -> bool
Argument Type Default yearintrequired
Source: kiln/date.odin:80
date_parse :: proc ( s : string ) -> ( Date, bool )
Parses “2026-10-26”.
Argument Type Default sstringrequired
Source: kiln/date.odin:126
date_text :: proc ( d : Date ) -> string
The date written with the locale’s date_pattern (“26.10.2026”), in the temp allocator.
Argument Type Default dDaterequired
Source: kiln/date.odin:143
date_valid :: proc ( d : Date ) -> bool
Argument Type Default dDaterequired
Source: kiln/date.odin:91
date_weekday :: proc ( d : Date ) -> int
Day of the week, 0 = Monday … 6 = Sunday.
Argument Type Default dDaterequired
Source: kiln/date.odin:96
locale_de :: proc () -> Locale
Source: kiln/date.odin:54
locale_en :: proc () -> Locale
Source: kiln/date.odin:32
Today in the local time zone.
Source: kiln/date.odin:158