|
|
(23 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)]] |
| 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/annotate/head:/lib/I2CE_Date.php lib/I2CE_Date.php]
| |
| | |
| Handles date manipulation.
| |
| I2CE_Dates are used to manage date and time values for form/HTML
| |
| display and for interacting with the database.
| |
| *Author: Luke Duncan <lduncan@intrahealth.org>
| |
| *Since: v1.0.0
| |
| ==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]]
| |