edtf
4 sites
No security coverage
This module adds a date field with support for the Extended Date/Time Format specification (EDTF). This allows varying precision, uncertain and approximate (date or) timestamps. Internally the timestamp will be saved as string. The ProfessionalWiki/EDTF library is used for validating and parsing.
Examples
2023-12-24T18:00:00Z- On December 24, 2023 at 6PM in UTC2023-12-24T18:00:00- On December 24, 2023 at 6PM in unspecified timezone2023-12-24- The date "December 24, 2023"2023-12- In the month December 20232023-12-XX- on an unknown date in December 2023202x-12-24- on December 24 in an unknown year in the 2020s2023?- it might have been in 2023, but it is uncertain2023-12~- approx. in December 20232023-12-01/2023-12-24- the interval December 1st to 24th in 2023
API
When displaying timestamps, two formatters are available:
- Plain: the timestamp will be shown as is
- EDTF Humanizer: The humanizer of this library is used.
This module adds field tokens:
[node:field_name:year]- show only the specified year[node:field_name:year_period]- show the specified year with 'X' in place of rightmost unspecified digits (e.g. '19xx')[node:field_name:humanized]- the timestamp in humanized form
This module adds a few Twig filters for processing EDTF values:
{{ value|edtf_validate }}- check whether the value is valid (returns boolean).{{ value|edtf_humanize }}- humanize the value in the current language (returns string or null if the value was not valid).{{ value|edtf_year }}- returns the (minimum) year (returns int or null if the value was not valid).{{ value|edtf_year_period }}- returns the year with 'X' in place of the rightmost unspecified digits (returns string or null if the value was not valid).{{ value|edtf_min }}- returns the earliest UNIX timestamp (returns int or null if the value was not valid).{{ value|edtf_max }}- returns the latest UNIX timestamp (returns int or null if the value was not valid).