|
|
(19 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 YEAR_ONLY Year, MONTH_DAY Month and Day, DATE Date,
| |
| DATE_TIME Date and Time, and 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)
| |
| *Parameters:
| |
| ** [[Class: I2CE_Date | I2CE_Date]] $date
| |
| *Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
| |
| ===blank()===
| |
| Create a blank date object with no values set for anything.
| |
| *Signature: static public function blank($type)
| |
| *Parameters:
| |
| ** integer $type <br/>The type of date object created. It defaults to date and time.
| |
| ***Default Value: self::DATE_TIME
| |
| *Returns: [[Class: I2CE_Date | I2CE_Date]]
| |
| ===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)
| |
| *Parameters:
| |
| ** [[Class: I2CE_Date | I2CE_Date]] $date
| |
| *Returns: integer
| |
| ===day()===
| |
| *Signature: public function day()
| |
| *Returns: integer<br/>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)
| |
| *Parameters:
| |
| ** [[Class: I2CE_Date | I2CE_Date]] $date
| |
| *Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
| |
| ===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 blank () blank date is returned. If none of thse formats match the now () current date is returned.
| |
| *Signature: static public function fromDB($dateString,$type)
| |
| *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}. Otherwise it is one of I2CE_DATE::DATE, I2CE_DATE::YEAR_ONLY, etc.
| |
| ***Default Value: null
| |
| *Returns: [[Class: I2CE_Date | I2CE_Date]]
| |
| ===getDate()===
| |
| Creates a date object of the type Date.
| |
| *Signature: static public function getDate($day,$month,$year)
| |
| *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
| |
| *Returns: [[Class: I2CE_Date | I2CE_Date]]
| |
| ===getDateTime()===
| |
| Creates a date object of the type Date/Time.
| |
| *Signature: static public function getDateTime($sec,$min,$hour,$day,$month,$year)
| |
| *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
| |
| *Returns: [[Class: I2CE_Date | I2CE_Date]]
| |
| ===getDay()===
| |
| Create a date object of the type Month/Day
| |
| *Signature: static public function getDay($day,$month)
| |
| *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
| |
| *Returns: [[Class: I2CE_Date | I2CE_Date]]
| |
| ===getMonthName()===
| |
| The month name text to be displayed for the given month number.
| |
| *Signature: public function getMonthName($mon)
| |
| *Parameters:
| |
| ** integer $mon
| |
| *Returns: [http://www.php.net/manual/en/language.types.string.php string ]
| |
| ===getTime()===
| |
| Creates a date object of the type Time.
| |
| *Signature: static public function getTime($sec,$min,$hour)
| |
| *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
| |
| *Returns: [[Class: I2CE_Date | I2CE_Date]]
| |
| ===getType()===
| |
| get the type for this Date.
| |
| *Signature: public function getType()
| |
| *Returns: integer<br/>$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 ]<br/>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)
| |
| *Parameters:
| |
| ** integer $year <br/>Sets the year to be used.
| |
| ***Default Value: -1
| |
| *Returns: [[Class: I2CE_Date | I2CE_Date]]
| |
| ===hour()===
| |
| *Signature: public function hour()
| |
| *Returns: integer<br/>The hour part of the time.
| |
| ===isDay()===
| |
| Checks to see if the date's day matches the given day.
| |
| *Signature: public function isDay($day)
| |
| *Parameters:
| |
| ** integer $day
| |
| *Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
| |
| ===isHour()===
| |
| Checks to see if the date's hour matches the given hour.
| |
| *Signature: public function isHour($hour)
| |
| *Parameters:
| |
| ** integer $hour
| |
| *Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
| |
| ===isMinute()===
| |
| Checks to see if the date's minute matches the given minute.
| |
| *Signature: public function isMinute($minute)
| |
| *Parameters:
| |
| ** integer $minute
| |
| *Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
| |
| ===isMonth()===
| |
| Checks to see if the date's month matches the given month.
| |
| *Signature: public function isMonth($month)
| |
| *Parameters:
| |
| ** integer $month
| |
| *Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
| |
| ===isSecond()===
| |
| Checks to see if the date's second matches the given second.
| |
| *Signature: public function isSecond($second)
| |
| *Parameters:
| |
| ** integer $second
| |
| *Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
| |
| ===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)
| |
| *Parameters:
| |
| ** integer $year
| |
| *Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
| |
| ===listMonths()===
| |
| Adds the month values to a [[Class: 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 | ]] 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.
| |
| *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. @see I2CE_Template::setData()
| |
| ***Default Value: 0
| |
| ===minute()===
| |
| *Signature: public function minute()
| |
| *Returns: integer<br/>The minute part of the time.
| |
| ===month()===
| |
| *Signature: public function month()
| |
| *Returns: integer<br/>The month part of the date.
| |
| ===now()===
| |
| Create a new I2CE_Date object with the current or given date and/or time.
| |
| *Signature: static public function now($type,$time_stamp,$strict)
| |
| *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 then it should be the same array structture as returned by getdate() or the one returned by I2CE_Date::getValues()
| |
| ***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
| |
| *Returns: [http://www.php.net/manual/en/language.pseudo-types.php mixed ]<br/>I2CE_Date or false if failure on strict mode
| |
| ===second()===
| |
| *Signature: public function second()
| |
| *Returns: integer<br/>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<br/>The year part of the date.
| |
| | |
| | |
| [[Category:Class Documentation]]
| |