============
Time Periods
============

Goals
=====

* Add date or range fields on model
* Link to one or more pre-defined periods

Historical Model Fields
=======================

* Single date or date range
* Different granularities: year, month or date.
* 2 date fields: (start and end)
* Internally store as integers since datetime only can handle back to 4713 BC
  
  * BC: -YYYYMMDD
  * AD:  YYYYMMDD
   
  * Granularity is defined by 00 for month and/or day fields. Examples:
    
    * Birth of Jesus: 00000000 (Unusual case but since year is required, its value is defined as 0)
    * Stonehenge built: -31000000 (3100 BC)
    * JFK shot: 19631122 (Nov 22, 1963)
  
  * One-time events have a end date equal to start date
  * An unbound end date (to present) is 99999999 (must be ready for they Y10K issue)
* compound date widgets:
  
  * Event date: [__] [__] [____] 
  * Event Period: [__] [__] [____] to [__] [__] [____] or [x] Present
  * Help text: Enter in at least a year; month and date are optional.

* Have a method to convert to "years ago".
* Have a method to convert to datetime (if possible)

Geologic Eras
=============
