Class: I2CE Date: Difference between revisions
No edit summary |
No edit summary |
||
Line 2: | Line 2: | ||
It is contained in the module [[iHRIS Module List#I2CE|I2CE]] in the package [https://launchpad.net/i2ce I2CE] | It is contained in the module [[iHRIS Module List#I2CE|I2CE]] in the package [https://launchpad.net/i2ce I2CE] | ||
The class is defined in the file: [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.0-release/ | The class is defined in the file: [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.0-release/annotate/head:/lib/I2CE_Date.php lib/I2CE_Date.php] | ||
@author Luke Duncan <lduncan@intrahealth.org> | @author Luke Duncan <lduncan@intrahealth.org> |
Revision as of 20:24, 16 October 2009
This article desrcibes the class I2CE_Date It is contained in the module I2CE in the package I2CE
The class is defined in the file: lib/I2CE_Date.php
@author Luke Duncan <lduncan@intrahealth.org>
@since v1.0.0
@version v2.0.0
Handles date manipulation.
I2CE_Dates are used to manage date and time values for form/HTML
display and for interacting with the database.
@package I2CE
@access public
Constants
I2CE_Date::YEAR_ONLY
Constant value to signify a date only including the year. Defined as: 1
I2CE_Date::MONTH_DAY
Constant value to signify a date only including the month and day of the month. Defined as: 2
I2CE_Date::DATE
Constant value to signify a date only including the date. Defined as: 3
I2CE_Date::DATE_TIME
Constant value to signify a date only including the date and time. Defined as: 4
I2CE_Date::TIME_ONLY
Constant value to signify a date only including the time. Defined as: 5
Variables
$second
The second value for the time.
- Type: private nteger $second
$minute
The minute value for the time.
- Type: private nteger $minute
$hour
The hour value for the time.
- Type: private nteger $hour
$day
The day value for the date.
- Type: private nteger $day
$month
The month value for the date.
- Type: private nteger $month
$year
The year value for the date.
- Type: private nteger $year
$type
The type of I2CE_Date object based on the constant values.
Possible date types are {@link YEAR_ONLY Year}, {@link MONTH_DAY Month and Day}, {@link DATE Date}, {@link DATE_TIME Date and Time}, and {@link TIME_ONLY Time}.
- Type: private nteger $type
$months
Array of month names.
This should be modified to handle internationalization. The array of month names.
- Type: static public y $months
$types
A list of all valid types for I2CE_Date objects.
- Type: static private y $types
Methods
__construct()
Constructor method to create a new I2CE_Date object.
- Signature: private function __construct($type)
Parameters:
- integer $type
The type of date object created. It defaults to date and time.- Default Value: self::DATE_TIME
addMonthDayElement()
Add a selection drop down for the month and date to be selected.
- Signature: static public function addMonthDayElement($template,$name,$default,$showError,$node,$hidden,$blank)
Parameters:
- $template
- string $name
The name of the selection element - I2CE_Date $default
The default I2CE_Date object to use to preset the value. - boolean $showError
A flag if this field is currently invalid to mark it as such. - domnode $node
The node to append the element to. - boolean $hidden
Set to true if the form element should be hidden. Defaults to false- Default Value: false
- boolean $blank
Set to true if this element should have a blank entry option. Defaults to false.- Default Value: false
addTimeElement()
Add a selection drop down for the hour, minute and second to be selected.
- Signature: static public function addTimeElement($template,$name,$default,$showError,$node,$hidden)
Parameters:
- $template
- string $name
The name of the selection element - I2CE_Date $default
The default I2CE_Date object to use to preset the value. - boolean $showError
A flag if this field is currently invalid to mark it as such. - domnode $node
The node to append the element to. - boolean $hidden
Set to true if the form element should be hidden.- Default Value: false
addYearElement()
Add a selection drop down for the year to be selected.
- Signature: static public function addYearElement($template,$name,$default,$showError,$node,$year_range,$hidden,$blank)
Parameters:
- $template
- string $name
The name of the selection element - I2CE_Date $default
The default I2CE_Date object to use to preset the value. - boolean $showError
A flag if this field is currently invalid to mark it as such. - domnode $node
The node to append the element to. - array $year_range
The range of years to use for the drop down. - boolean $hidden
Set to true if the form element should be hidden. Defaults to false.- Default Value: false
- boolean $blank
Set to true if this element should have a blank entry option. Defaults to false.- Default Value: false
before()
Determines if a date is before the given date.
- Signature: public function before($date)
- Returns: boolean
Parameters:
- I2CE_Date $date
blank()
Create a blank date object with no values set for anything.
- Signature: static public function blank($type)
- Returns: I2CE_Date
Parameters:
- integer $type
The type of date object created. It defaults to date and time.- Default Value: self::DATE_TIME
compare()
Compares a date to this one and returns -1 if it is before, 0 if the same and 1 if after this date.
- Signature: public function compare($date)
- Returns: integer
Parameters:
- I2CE_Date $date
day()
- Signature: public function day()
- Returns: integer The day part of the date.
dbFormat()
Formats the date to be saved to MySQL
Formats the date object to a string that MySQL will recognize based on the date type.
- Signature: public function dbFormat()
- Returns: string
displayDate()
Displays the date in a readable format.
- Signature: public function displayDate()
equals()
Determines if one date is identical to another.
- Signature: public function equals($date)
- Returns: boolean
Parameters:
- I2CE_Date $date
fromDB()
Creates a date from a MySQL database formatted string
The type of this date object is determined by the string. The possible types are Month/Day ('0000-MM-DD'), Year Only ('YYYY-00-00'), Date ('YYYY-MM-DD'), Date/Time ('YYYY-MM-DD HH:MM:SS'), and Time Only ('HH:MM:SS'). If the string is blank a {@link blank() blank date} is returned. If none of thse formats match the {@link now() current date} is returned. Otherwise it is one of I2CE_DATE::DATE, I2CE_DATE::YEAR_ONLY, etc.
- Signature: static public function fromDB($dateString,$type)
- Returns: I2CE_Date
Parameters:
- string $dateString
Date formatted string from MySQL - int $type
Defaults to null in which the type is guessed from the {$dateString}.- Default Value: null
getDate()
Creates a date object of the type Date.
- Signature: static public function getDate($day,$month,$year)
- Returns: I2CE_Date
Parameters:
- integer $day
Sets the day of the month to be used- Default Value: -1
- integer $month
Sets the month to be used- Default Value: -1
- integer $year
Sets the year to be used.- Default Value: -1
getDateTime()
Creates a date object of the type Date/Time.
- Signature: static public function getDateTime($sec,$min,$hour,$day,$month,$year)
- Returns: I2CE_Date
Parameters:
- integer $sec
Sets the seconds to be used- Default Value: -1
- integer $min
Sets the minutes to be used- Default Value: -1
- integer $hour
Sets the hour to be used.- Default Value: -1
- integer $day
Sets the day of the month to be used- Default Value: -1
- integer $month
Sets the month to be used- Default Value: -1
- integer $year
Sets the year to be used.- Default Value: -1
getDay()
Create a date object of the type Month/Day
- Signature: static public function getDay($day,$month)
- Returns: I2CE_Date
Parameters:
- integer $day
Sets the day of the month to be used- Default Value: -1
- integer $month
Sets the month to be used- Default Value: -1
getMonthName()
The month name text to be displayed for the given month number.
- Signature: public function getMonthName($mon)
- Returns: string
Parameters:
- integer $mon
getTime()
Creates a date object of the type Time.
- Signature: static public function getTime($sec,$min,$hour)
- Returns: I2CE_Date
Parameters:
- integer $sec
Sets the seconds to be used- Default Value: -1
- integer $min
Sets the minutes to be used- Default Value: -1
- integer $hour
Sets the hour to be used.- Default Value: -1
getType()
get the type for this Date.
- Signature: public function getType()
- Returns: integer $type The type of date object created.
getValues()
Get the array of values associated to this date.
- Signature: public function getValues()
- Returns: array The keys of which match the names for generated html elements
getYear()
Create a date object of the type Year only.
- Signature: static public function getYear($year)
- Returns: I2CE_Date
Parameters:
- integer $year
Sets the year to be used.- Default Value: -1
hour()
- Signature: public function hour()
- Returns: integer The hour part of the time.
isDay()
Checks to see if the date's day matches the given day.
- Signature: public function isDay($day)
- Returns: boolean
Parameters:
- integer $day
isHour()
Checks to see if the date's hour matches the given hour.
- Signature: public function isHour($hour)
- Returns: boolean
Parameters:
- integer $hour
isMinute()
Checks to see if the date's minute matches the given minute.
- Signature: public function isMinute($minute)
- Returns: boolean
Parameters:
- integer $minute
isMonth()
Checks to see if the date's month matches the given month.
- Signature: public function isMonth($month)
- Returns: boolean
Parameters:
- integer $month
isSecond()
Checks to see if the date's second matches the given second.
- Signature: public function isSecond($second)
- Returns: boolean
Parameters:
- integer $second
isValid()
Checks to see if the I2CE_Date object is valid
This method will check to see if the date object has valid entries based on the type.
- Signature: public function isValid()
- Returns: boolean
isYear()
Checks to see if the date's year matches the given year.
- Signature: public function isYear($year)
- Returns: boolean
Parameters:
- integer $year
listMonths()
Adds the month values to a {@link I2CE_Template} object.
- Signature: static public function listMonths($template,$selectId)
Parameters:
- I2CE_Template $template
- string $selectId
The id of the element in the page to add the selections to.
listYears()
Adds a sequence of years to a {@link I2CE_Template} object.
It takes two optional arguments to limit the years to use. The initial year to start with is 1990 and it will end with the current year. @see I2CE_Template::setData()
- Signature: static public function listYears($template,$selectId,$start,$end)
Parameters:
- I2CE_Template $template
- string $selectId
The id of the element in the page to add the selections to. - integer $start
The year to start with- Default Value: 1990
- integer $end
The year to end with.- Default Value: 0
minute()
- Signature: public function minute()
- Returns: integer The minute part of the time.
month()
- Signature: public function month()
- Returns: integer The month part of the date.
now()
Create a new I2CE_Date object with the current or given date and/or time. then it should be the same array structture as returned by getdate() or the one returned by I2CE_Date::getValues()
- Signature: static public function now($type,$time_stamp,$strict)
- Returns: mixed I2CE_Date or false if failure on strict mode
Parameters:
- integer $type
The type of date object created. It defaults to date and time.- Default Value: self::DATE_TIME
- integer $time_stamp
Defaults to null in which case we use the current time stamp. If it is an array- Default Value: null
- mixed $strict
Defaults to false. If true, does not return now. If 'blank', returns the blank date.- Default Value: false
second()
- Signature: public function second()
- Returns: integer the second part of the time.
setBlank()
Set the blank string to be used if this date is empty.
- Signature: public function setBlank($text)
Parameters:
- string $text
The text to use.
setType()
Set the type for this Date.
- Signature: public function setType($type)
Parameters:
- integer $type
The type of date object created. It defaults to date and time.
year()
- Signature: public function year()
- Returns: integer The year part of the date.