RINK-DATES(5)

NAME
rink-dates - Rink file format for date patterns

SYNPOSIS

Rink allows specifying datetimes using #date# syntax in queries. This file defines the patterns that are used to try to match the specified date.

DESCRIPTION

Blank lines are ignored. Lines starting with # are ignored.

A date pattern is a sequence of keywords which each specify a token to match. part of the sequence can be wrapped with [] to make it optional.

The valid keywords are:

fullyear
    The full 4 digit year, like 2024. Must be exactly 4 digits.

shortyear
    Shortened 2-digit year, like 24. Must be exactly 2 digits.

century
    The year with the last 2 digits cut off, like 20. Not the same as the actual century number (which would be 21). Must be exactly 2 digits.

monthnum
    The current month number, like 03. Must be exactly 2 digits.

day
    The current day of the month, like 3. Can be any number of digits.

fullday
    The current day of the month, like 03. Must be exactly 2 digits.

min
    The current minute of the hour, like 05. Must be exactly 2 digits.

ordinal
    The current day of the year, like 083. Must be exactly 3 digits.

isoyear
    The ISO year, like -0001. Must be exactly 4 digits. ISO year unifies CE and BCE such that 1BC is year 0, and 2BCE is year -1.

year
    The current year, like 2024. Can be any number of digits.

adbc
    Looks for ad, ce, bc, or bce (case insensitive). This allows specifying dates prior to year 1 CE.

hour12
    The current hour on a 12-hour clock. Must be exactly 2 digits.

hour24
    The current hour on a 24-hour clock. Must be exactly 2 digits.

meridiem
    Looks for am or pm (case insensitive). This allows specifying 12-hour time.

sec
    The current second of the current minute. Must be exactly 2 digits. Can optionally have a decimal point to specify time smaller than a second.

offset
    Matches a timezone offset. This can either be the name of a timezone like US/Pacific or a fixed offset. The fixed offset can either be in the form +07:00 or +0700.

monthname
    Matches English month names, case insensitive. Recognizes 3-letter names (like jan, feb, mar) and full names.

weekday
    Makes English weekday names, case insensitive. Recognizes 3-letter names (like mon, tue, wed) and full names.

today
    Use the current date, but not the time. Most useful when combined with relative.

now
    Use the current time and date. Most useful when combined with relative.

relative
    Matches a relative unit, like +1h to add 1 hour, or -7week to subtract 7 weeks. This is calendar aware, instead of working in seconds.

-
    Matches a literal - character.

:
    Matches a literal : character.

` `
    A single space will match any amount of whitespace.

&
    Allows putting two terms directly next to each other without spaces in between.

' <anything> '
    Wrapping text in single quotes will match that text literally.

FILES

Rink searches the following locations:

    • ./datepatterns.txt

    • $XDG_CONFIG_DIR/rink/datepatterns.txt

    • /usr/share/rink/datepatterns.txt

SEE ALSO

rink(1), rink(5), rink(7), rink-defs(5)