# Class Date

The Date complex data type

  AlphaType
  Date implements AlphaTypeInterface

Package: alpha::model::types
Copyright: Copyright (c) 2012, John Collins (founder of Alpha Framework). All rights reserved.

    Redistribution and use in source and binary forms, with or
    without modification, are permitted provided that the
    following conditions are met:

    * Redistributions of source code must retain the above
      copyright notice, this list of conditions and the
      following disclaimer.
    * Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the
      following disclaimer in the documentation and/or other
      materials provided with the distribution.
    * Neither the name of the Alpha Framework nor the names
      of its contributors may be used to endorse or promote
      products derived from this software without specific
      prior written permission.

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
    CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
    INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
    CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
    NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
    OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

License: The BSD License
Author: John Collins <dev@alphaframework.org>
Version: $Id: Date.inc 1605 2012-12-13 15:41:06Z alphadevx $
Since: 1.0
Located at model/types/Date.inc

Methods summary
`public` | # `__construct( string $date = '' )` Constructor. Leave $date param empty to default to now. Constructor. Leave $date param empty to default to now. #### Parameters $date `string` $date Date string in the ISO format YYYY-MM-DD. #### Throws ``IllegalArguementException`` #### Since 1.0
`public` | # `setValue( string $date )` Accepts a full date string in ISO YYYY-mm-dd format and populates relevent Date attributes. Accepts a full date string in ISO YYYY-mm-dd format and populates relevent Date attributes. #### Parameters $date `string` $date #### Throws ``IllegalArguementException`` #### Since 1.0 #### Implementation of `AlphaTypeInterface::setValue()`
`public` | # `setDateValue( integer $year, integer $month, integer $day )` Set the Date attributes to match the three values provided Set the Date attributes to match the three values provided #### Parameters $year `integer` $year $month `integer` $month $day `integer` $day #### Throws ``IllegalArguementException`` #### Since 1.0
`public string` | # `getValue( )` Get the date value as a string in the format "YYYY-MM-DD" Get the date value as a string in the format "YYYY-MM-DD" #### Returns `string` #### Since 1.0 #### Implementation of `AlphaTypeInterface::getValue()`
`public integer` | # `getUnixValue( )` Return the value in UNIX timestamp format Return the value in UNIX timestamp format #### Returns `integer` #### Since 1.0
`public string` | # `getEuroValue( )` Get the date value as a string in the format "DD/MM/YYYY" Get the date value as a string in the format "DD/MM/YYYY" #### Returns `string` #### Since 1.0
`public string` | # `getUSValue( )` Get the date value as a string in the format "MM/DD/YYYY" Get the date value as a string in the format "MM/DD/YYYY" #### Returns `string` #### Since 1.0
`public integer` | # `getYear( )` Get the year part Get the year part #### Returns `integer` #### Since 1.0
`public integer` | # `getMonth( )` Get the month part Get the month part #### Returns `integer` #### Since 1.0
`public integer` | # `getDay( )` Get the day part Get the day part #### Returns `integer` #### Since 1.0
`public string` | # `getWeekday( )` Get the textual weekday part, e.g. Monday Get the textual weekday part, e.g. Monday #### Returns `string` #### Since 1.0
`public` | # `populateFromString( string $date )` Accepts a full date string in YYYY-MM-DD format and populates relevent Date attributes. Accepts a full date string in YYYY-MM-DD format and populates relevent Date attributes. #### Parameters $date `string` $date #### Throws ``IllegalArguementException`` #### Since 1.0
`public string` | # `getRule( )` Get the validation rule Get the validation rule #### Returns `string` #### Since 1.0
`public` | # `setRule( string $rule )` Set the validation rule Set the validation rule #### Parameters $rule `string` $rule #### Since 1.0

Methods inherited from AlphaType
`__toString(), getHelper(), setHelper()`

Properties summary
`private integer` | $year | `` | # The year part The year part #### Since 1.0
`private integer` | $month | `` | # The month part The month part #### Since 1.0
`private integer` | $day | `` | # The day part The day part #### Since 1.0
`private string` | $weekday | `` | # The textual version of the day, e.g. Monday The textual version of the day, e.g. Monday #### Since 1.0
`private string` | $validationRule | `` | # The validation rule (reg-ex) applied to Date values The validation rule (reg-ex) applied to Date values #### Since 1.0
`protected string` | $helper | `'Not a valid date value! A date should be in the ISO format YYYY-MM-DD.'` | # The error message returned for invalid values The error message returned for invalid values #### Since 1.0