Class: I2CE Date: Difference between revisions

From IHRIS Wiki
No edit summary
(Redirected page to Class: I2CE Date (4.1.12))
 
(22 intermediate revisions by one other user not shown)
Line 1: Line 1:
This article desrcibes the class '''I2CE_Date'''.
#REDIRECT [[Class: I2CE_Date (4.1.12)]]
*Location: Part of the module [[iHRIS Module List#I2CE|I2CE]] in the package [https://launchpad.net/i2ce I2CE]
*Source: 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>
*Since: v1.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.
==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<br/>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
* [http://www.php.net/manual/en/language.types.string.php string ] $name<br/>The name of the selection element
* [[Class: I2CE_Date | I2CE_Date]] $default<br/>The default I2CE_Date object to use to preset the value.
* [http://www.php.net/manual/en/language.types.boolean.php boolean ] $showError<br/>A flag if this field is currently invalid to mark it as such.
* [http://www.php.net/manual/en/class.domnode.php DOMNode ] $node<br/>The node to append the element to.
* [http://www.php.net/manual/en/language.types.boolean.php boolean ] $hidden<br/>Set to true if the form element should be hidden. Defaults to false
**Default Value: false
* [http://www.php.net/manual/en/language.types.boolean.php boolean ] $blank<br/>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
* [http://www.php.net/manual/en/language.types.string.php string ] $name<br/>The name of the selection element
* [[Class: I2CE_Date | I2CE_Date]] $default<br/>The default I2CE_Date object to use to preset the value.
* [http://www.php.net/manual/en/language.types.boolean.php boolean ] $showError<br/>A flag if this field is currently invalid to mark it as such.
* [http://www.php.net/manual/en/class.domnode.php DOMNode ] $node<br/>The node to append the element to.
* [http://www.php.net/manual/en/language.types.boolean.php boolean ] $hidden<br/>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
* [http://www.php.net/manual/en/language.types.string.php string ] $name<br/>The name of the selection element
* [[Class: I2CE_Date | I2CE_Date]] $default<br/>The default I2CE_Date object to use to preset the value.
* [http://www.php.net/manual/en/language.types.boolean.php boolean ] $showError<br/>A flag if this field is currently invalid to mark it as such.
* [http://www.php.net/manual/en/class.domnode.php DOMNode ] $node<br/>The node to append the element to.
* [http://www.php.net/manual/en/language.types.array.php array ] $year_range<br/>The range of years to use for the drop down.
* [http://www.php.net/manual/en/language.types.boolean.php boolean ] $hidden<br/>Set to true if the form element should be hidden. Defaults to false.
**Default Value: false
* [http://www.php.net/manual/en/language.types.boolean.php boolean ] $blank<br/>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: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
Parameters:
* [[Class: I2CE_Date | I2CE_Date]] $date
===blank()===
Create a blank date object with no values set for anything.
*Signature: static public function blank($type)
*Returns: [[Class: I2CE_Date | I2CE_Date]]
Parameters:
* integer $type<br/>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:
* [[Class: I2CE_Date | 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: [http://www.php.net/manual/en/language.types.string.php 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: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
Parameters:
* [[Class: I2CE_Date | 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: [[Class: I2CE_Date | I2CE_Date]]
Parameters:
* [http://www.php.net/manual/en/language.types.string.php string ] $dateString<br/>Date formatted string from MySQL
* [http://www.php.net/manual/en/language.types.integer.php int ] $type<br/>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: [[Class: I2CE_Date | I2CE_Date]]
Parameters:
* integer $day<br/>Sets the day of the month to be used
**Default Value: -1
* integer $month<br/>Sets the month to be used
**Default Value: -1
* integer $year<br/>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: [[Class: I2CE_Date | I2CE_Date]]
Parameters:
* integer $sec<br/>Sets the seconds to be used
**Default Value: -1
* integer $min<br/>Sets the minutes to be used
**Default Value: -1
* integer $hour<br/>Sets the hour to be used.
**Default Value: -1
* integer $day<br/>Sets the day of the month to be used
**Default Value: -1
* integer $month<br/>Sets the month to be used
**Default Value: -1
* integer $year<br/>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: [[Class: I2CE_Date | I2CE_Date]]
Parameters:
* integer $day<br/>Sets the day of the month to be used
**Default Value: -1
* integer $month<br/>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: [http://www.php.net/manual/en/language.types.string.php string ]
Parameters:
* integer $mon
===getTime()===
Creates a date object of the type Time.
*Signature: static public function getTime($sec,$min,$hour)
*Returns: [[Class: I2CE_Date | I2CE_Date]]
Parameters:
* integer $sec<br/>Sets the seconds to be used
**Default Value: -1
* integer $min<br/>Sets the minutes to be used
**Default Value: -1
* integer $hour<br/>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: [http://www.php.net/manual/en/language.types.array.php 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: [[Class: I2CE_Date | I2CE_Date]]
Parameters:
* integer $year<br/>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: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
Parameters:
* integer $day
===isHour()===
Checks to see if the date's hour matches the given hour.
*Signature: public function isHour($hour)
*Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
Parameters:
* integer $hour
===isMinute()===
Checks to see if the date's minute matches the given minute.
*Signature: public function isMinute($minute)
*Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
Parameters:
* integer $minute
===isMonth()===
Checks to see if the date's month matches the given month.
*Signature: public function isMonth($month)
*Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
Parameters:
* integer $month
===isSecond()===
Checks to see if the date's second matches the given second.
*Signature: public function isSecond($second)
*Returns: [http://www.php.net/manual/en/language.types.boolean.php 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: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
===isYear()===
Checks to see if the date's year matches the given year.
*Signature: public function isYear($year)
*Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
Parameters:
* integer $year
===listMonths()===
Adds the month values to a [[Class: I2CE_Template | I2CE_Template]] object.
*Signature: static public function listMonths($template,$selectId)
Parameters:
* [[Class: I2CE_Template | I2CE_Template]] $template
* [http://www.php.net/manual/en/language.types.string.php string ] $selectId<br/>The id of the element in the page to add the selections to.
===listYears()===
Adds a sequence of years to a [[Class: I2CE_Template | 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:
* [[Class: I2CE_Template | I2CE_Template]] $template
* [http://www.php.net/manual/en/language.types.string.php string ] $selectId<br/>The id of the element in the page to add the selections to.
* integer $start<br/>The year to start with
**Default Value: 1990
* integer $end<br/>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: [http://www.php.net/manual/en/language.pseudo-types.php mixed ] I2CE_Date or false if failure on strict mode
Parameters:
* integer $type<br/>The type of date object created.  It defaults to date and time.
**Default Value: self::DATE_TIME
* integer $time_stamp<br/>Defaults to null in which case we use the current time stamp.  If it is an array
**Default Value: null
* [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $strict<br/>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:
* [http://www.php.net/manual/en/language.types.string.php string ] $text<br/>The text to use.
===setType()===
Set the type for this Date.
*Signature: public function setType($type)
Parameters:
* integer $type<br/>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.
 
 
[[Category:Class Documentation]]

Latest revision as of 09:42, 18 August 2015