Extended Date/Time Format
This module provides a date field that supports the Extended Date/Time Format (EDTF) specification. This allows for storing and displaying dates with varying precision, including uncertainty and approximations. It can represent specific dates, months, years, or even date ranges in a human-readable format.
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).
Depends on
Dependencies of the latest stable release
No dependencies recorded for this project.
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.
Activity
Releases
| Version | Type | Core | Notes | Release date | |
|---|---|---|---|---|---|
| 1.0.0-beta4 | Pre-release | 9–11 | Compatibility Drupal 11 | Jun 22, 2026 | |
| 1.0.x-dev | Dev | 9–11 | Oct 17, 2025 |