Skip to main content
drupalreleases

Use direct release data with your AI assistant.

Learn more

Extended Date/Time Format

No security coverage Under active development 6 sites

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 UTC
  • 2023-12-24T18:00:00 - On December 24, 2023 at 6PM in unspecified timezone
  • 2023-12-24 - The date "December 24, 2023"
  • 2023-12 - In the month December 2023
  • 2023-12-XX - on an unknown date in December 2023
  • 202x-12-24 - on December 24 in an unknown year in the 2020s
  • 2023? - it might have been in 2023, but it is uncertain
  • 2023-12~ - approx. in December 2023
  • 2023-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).

Ask your assistant about Extended Date/Time Format

Check compatibility with your Drupal and PHP version, maintenance and security coverage, from current release data. How it works

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

Tracked releases
5
Tracked since
Dec 2023
Latest release
3 months ago
Releases (12 mo)
2 ▲ from 0
Maintenance
Active

Release Timeline

Releases

Version Type Core PHP Release date
1.0.0-beta4 Pre-release 9–11 Jun 22, 2026
1.0.x-dev Dev 9–11 Oct 17, 2025
1.0.0-beta3 Pre-release 9–10 PHP >=8.1 May 11, 2024
1.0.0-beta2 Pre-release 9–10 PHP >=8.1 Jan 6, 2024
1.0.0-beta1 Pre-release 10 Dec 24, 2023