Date field

From EPrints Documentation
Revision as of 12:49, 11 January 2007 by WikiSysop (Talk | contribs)

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

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


Metadata Fields: Boolean - Compound - Multilang - Date - Time - Float - Int - Itemref - Pagerange - Set - Namedset - Subject - Text - Email - Longtext - Name - Url

Inherritance

Description

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".

Properties

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

None.

Database

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

API

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

"1976"
"1976-02"
"1976-02-02"

Searching

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.