Date field

From EPrints Documentation
Revision as of 14:25, 11 April 2012 by Tdb01r (talk | contribs) (Redirected page to API:EPrints/MetaField/Date)

Redirect page
Jump to: navigation, search

EPrints 3 Reference: Directory Structure - Metadata Fields - Repository Configuration - XML Config Files - XML Export Format - EPrints data structure - Core API - Data Objects

Metadata Fields: Arclanguage - Base64 - Bigint - Boolean - Compound - Counter - Dataobjref - Date - Decimal - Email - Fields - Float - Id - Idci - Image - Int - Itemref - Keywords - Langid - Longtext - Longtext_counter - Multilang - Multipart - Name - Namedset - Pagerange - Recaptcha - Relation - Search - Secret - Set - Storable - Subject - Subobject - Text - Time - Timestamp - Url - Uuid



This field is used to store a single date. Internally EPrints always uses ISO standard notation for dates, it avoids confusion. This is YYYY-MM-DD.

In bibliographies sometimes exact dates of publication (or other events) are not known. EPrints allows you to store month and year values in date fields. YYYY or YYYY-MM.

In the database EPrints actually uses 3 integer fields to store the date, rather than a built in date field. This is because of the need to allow "NULL" in month and day if the date is just "1998".


name default description
min_resolution day month|year. If set to "day" then values of YYYY or YYYY-MM will cause a validation error. If set to "month" then values of YYYY will cause a validation error. If set to "year" then day, month or year resolutions are allowed.
render_res day month|year. If set to "year" then the dates 1998-10-01, 1998-10 and 1998 would all be rendered as "1998". This is not too useful in configuring the field, but can be set as a print option inside citation files.
render_style long long. If "long" then you'll see "8 September 1998". If "short" then "08 Sep 1998".

Required Phrases



Date fields are stored in the database as:

fieldname_year SMALLINT, fieldname_month SMALLINT, fieldname_day SMALLINT

If a date only has a year value then it would be stored as 1998,NULL,NULL


Date values are represented in the API as scalars containing ISO encoded dates. eg.



Date fields can be searched as either single values or ranges. Searching for "2006" will also match 2006-12-25. You can search for "2000-" to search dates in or after 2000. Or "2000-12-2003-01" for December 2000 through January 2003.