From 903ae8a581fac1e6917fc3e31d2ad8fb91df80c3 Mon Sep 17 00:00:00 2001 From: ctrlaltca <> Date: Thu, 12 Jul 2012 11:21:01 +0000 Subject: standardize the use of unix eol; use svn properties to enforce native eol --- framework/I18N/core/DateTimeFormatInfo.php | 1032 ++++++++++++++-------------- 1 file changed, 516 insertions(+), 516 deletions(-) (limited to 'framework/I18N/core/DateTimeFormatInfo.php') diff --git a/framework/I18N/core/DateTimeFormatInfo.php b/framework/I18N/core/DateTimeFormatInfo.php index aebd094a..d4deee1f 100644 --- a/framework/I18N/core/DateTimeFormatInfo.php +++ b/framework/I18N/core/DateTimeFormatInfo.php @@ -1,516 +1,516 @@ - - * @version $Revision: 1.2 $ $Date: 2005/01/05 03:15:14 $ - * @package System.I18N.core - */ - -/** - * Get the CultureInfo class. - */ -require_once(dirname(__FILE__).'/CultureInfo.php'); - - -/** - * Defines how DateTime values are formatted and displayed, depending - * on the culture. - * - * This class contains information, such as date patterns, time patterns, - * and AM/PM designators. - * - * To create a DateTimeFormatInfo for a specific culture, create a - * CultureInfo for that culture and retrieve the CultureInfo.DateTimeFormat - * property. For example: - * - * $culture = new CultureInfo('en_AU'); - * $dtfi = $culture->DateTimeFormat; - * - * - * To create a DateTimeFormatInfo for the invariant culture, use - * - * DateTimeFormatInfo::getInstance($culture=null); - * - * you may pass a CultureInfo parameter $culture to get the DateTimeFormatInfo - * for a specific culture. - * - * DateTime values are formatted using standard or custom patterns stored in - * the properties of a DateTimeFormatInfo. - * - * The standard patterns can be replaced with custom patterns by setting the - * associated properties of DateTimeFormatInfo. - * - * The following table lists the standard format characters for each standard - * pattern and the associated DateTimeFormatInfo property that can be set to - * modify the standard pattern. The format characters are case-sensitive; - * for example, 'g' and 'G' represent slightly different patterns. - * - * - * Format Character Associated Property Example Format Pattern (en-US) - * -------------------------------------------------------------------------- - * d ShortDatePattern MM/dd/yyyy - * D LongDatePattern dddd, dd MMMM yyyy - * F FullDateTimePattern dddd, dd MMMM yyyy HH:mm:ss - * m, M MonthDayPattern MMMM dd - * r, R RFC1123Pattern ddd, dd MMM yyyy HH':'mm':'ss 'GMT' - * s SortableDateTimePattern yyyy'-'MM'-'dd'T'HH':'mm':'ss - * t ShortTimePattern HH:mm - * T LongTimePattern HH:mm:ss - * Y YearMonthPattern yyyy MMMM - * -------------------------------------------------------------------------- - * - * - * @author Xiang Wei Zhuo - * @version v1.0, last update on Fri Dec 03 22:30:31 EST 2004 - * @package System.I18N.core - */ -class DateTimeFormatInfo -{ - /** - * ICU date time formatting data. - * @var array - */ - private $data = array(); - - /** - * A list of properties that are accessable/writable. - * @var array - */ - protected $properties = array(); - - /** - * Allow functions that begins with 'set' to be called directly - * as an attribute/property to retrieve the value. - * @return mixed - */ - function __get($name) - { - $getProperty = 'get'.$name; - if(in_array($getProperty, $this->properties)) - return $this->$getProperty(); - else - throw new Exception('Property '.$name.' does not exists.'); - } - - /** - * Allow functions that begins with 'set' to be called directly - * as an attribute/property to set the value. - */ - function __set($name, $value) - { - $setProperty = 'set'.$name; - if(in_array($setProperty, $this->properties)) - $this->$setProperty($value); - else - throw new Exception('Property '.$name.' can not be set.'); - } - - /** - * Initializes a new writable instance of the DateTimeFormatInfo class - * that is dependent on the ICU data for date time formatting - * information. N.B.You should not initialize this class directly - * unless you know what you are doing. Please use use - * DateTimeFormatInfo::getInstance() to create an instance. - * @param array ICU data for date time formatting. - * @see getInstance() - */ - function __construct($data=array()) - { - $this->properties = get_class_methods($this); - - if(empty($data)) - throw new Exception('Please provide the ICU data to initialize.'); - - $this->data = $data; - } - - /** - * Get the internal ICU data for date time formatting. - * @return array ICU date time formatting data. - */ - protected function getData() - { - return $this->data; - } - - /** - * Gets the default DateTimeFormatInfo that is culture-independent - * (invariant). - * @return DateTimeFormatInfo default DateTimeFormatInfo. - */ - static function getInvariantInfo() - { - static $invariant; - if($invariant === null) - { - $culture = CultureInfo::getInvariantCulture(); - $invariant = $culture->getDateTimeFormat(); - } - return $invariant; - } - - /** - * Returns the DateTimeFormatInfo associated with the specified culture. - * @param CultureInfo the culture that gets the DateTimeFormat property. - * @return DateTimeFormatInfo DateTimeFormatInfo for the specified - * culture. - */ - static function getInstance($culture=null) - { - - if ($culture instanceof CultureInfo) - return $culture->getDateTimeFormat(); - else if(is_string($culture)) - { - $cultureInfo = CultureInfo::getInstance($culture); - return $cultureInfo->getDateTimeFormat(); - } - else - { - $cultureInfo = CultureInfo::getInvariantCulture(); - return $cultureInfo->getDateTimeFormat(); - } - } - - /** - * A one-dimensional array of type String containing - * the culture-specific abbreviated names of the days - * of the week. The array for InvariantInfo contains - * "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", and "Sat". - * @return array abbreviated day names - */ - function getAbbreviatedDayNames() - { - return $this->data['dayNames']['format']['abbreviated']; - //return $this->data['dayNames/format/abbreviated']; - } - - /** - * Set the abbreviated day names. The value should be - * an array of string starting with Sunday and ends in Saturady. - * For example, - * array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"); - * @param array abbreviated day names. - */ - function setAbbreviatedDayNames($value) - { - $this->data['dayNames']['format']['abbreviated'] = $value; - } - - /** - * A one-dimensional array of type String containing - * the culture-specific narrow names of the days - * of the week. The array for InvariantInfo contains - * "S", "M", "T", "W", "T", "F", and "S". - * @return array narrow day names - */ - function getNarrowDayNames() - { - return $this->data['dayNames']['format']['narrow']; - } - - /** - * Set the narrow day names. The value should be - * an array of string starting with Sunday and ends in Saturady. - * For example, - * array("S", "M", "T", "W", "T", "F", "S"); - * @param array narrow day names. - */ - function setNarrowDayNames($value) - { - $this->data['dayNames']['format']['narrow'] = $value; - } - - /** - * A one-dimensional array of type String containing the - * culture-specific full names of the days of the week. - * The array for InvariantInfo contains "Sunday", "Monday", - * "Tuesday", "Wednesday", "Thursday", "Friday", and "Saturday". - * @return array day names - */ - function getDayNames() - { - return $this->data['dayNames']['format']['wide']; - } - - - /** - * Set the day names. The value should be - * an array of string starting with Sunday and ends in Saturady. - * For example, - * array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", - * "Friday", "Saturday".); - * @param array day names. - */ - function setDayNames($value) - { - $this->data['dayNames']['format']['wide'] = $value; - } - - /** - * A one-dimensional array of type String containing the - * culture-specific narrow names of the months. The array - * for InvariantInfo contains "J", "F", "M", "A", "M", "J", - * "J", "A", "S", "O", "N", and "D". - * @return array narrow month names. - */ - function getNarrowMonthNames() - { - return $this->data['monthNames']['format']['narrow']; - } - - /** - * Set the narrow month names. The value should be - * an array of string starting with J and ends in D. - * For example, - * array("J","F","M","A","M","J","J","A","S","O","N","D"); - * @param array month names. - */ - function setNarrowMonthNames($value) - { - $this->data['monthNames']['format']['narrow'] = $value; - } - - /** - * A one-dimensional array of type String containing the - * culture-specific abbreviated names of the months. The array - * for InvariantInfo contains "Jan", "Feb", "Mar", "Apr", "May", - * "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", and "Dec". - * Returns wide names if abbreviated names doesn't exist. - * @return array abbreviated month names. - */ - function getAbbreviatedMonthNames() - { - if (isset($this->data['monthNames']['format']['abbreviated'])) - return $this->data['monthNames']['format']['abbreviated']; - else - return $this->data['monthNames']['format']['wide']; - } - - /** - * Set the abbreviated month names. The value should be - * an array of string starting with Jan and ends in Dec. - * For example, - * array("Jan", "Feb", "Mar", "Apr", "May", "Jun", - * "Jul", "Aug", "Sep","Oct","Nov","Dec"); - * @param array month names. - */ - function setAbbreviatedMonthNames($value) - { - $this->data['monthNames']['format']['abbreviated'] = $value; - } - - /** - * A one-dimensional array of type String containing the - * culture-specific full names of the months. The array for - * InvariantInfo contains "January", "February", "March", "April", - * "May", "June", "July", "August", "September", "October", "November", - * and "December" - * @return array month names. - */ - function getMonthNames() - { - return $this->data['monthNames']['format']['wide']; - } - - /** - * Set the month names. The value should be - * an array of string starting with Janurary and ends in December. - * For example, - * array("January", "February", "March", "April", "May", "June", - * "July", "August", "September","October","November","December"); - * @param array month names. - */ - function setMonthNames($value) - { - $this->data['monthNames']['format']['wide'] = $value; - } - - /** - * A string containing the name of the era. - * @param int era The integer representing the era. - * @return string the era name. - */ - function getEra($era) - { - $eraName = $this->data['eras']['abbreviated']; - return $eraName[$era]; - } - - /** - * The string designator for hours that are "ante meridiem" (before noon). - * The default for InvariantInfo is "AM". - * @return string AM designator. - */ - function getAMDesignator() - { - $result = $this->getAMPMMarkers(); - return $result[0]; - } - - /** - * Set the AM Designator. For example, 'AM'. - * @param string AM designator. - */ - function setAMDesignator($value) - { - $markers = $this->getAMPMMarkers(); - $markers[0] = $value; - $this->setAMPMMarkers($markers); - } - - /** - * The string designator for hours that are "post meridiem" (after noon). - * The default for InvariantInfo is "PM". - * @return string PM designator. - */ - function getPMDesignator() - { - $result = $this->getAMPMMarkers(); - return $result[1]; - } - - /** - * Set the PM Designator. For example, 'PM'. - * @param string PM designator. - */ - function setPMDesignator($value) - { - $markers = $this->getAMPMMarkers(); - $markers[1] = $value; - $this->setAMPMMarkers($markers); - } - - /** - * Get the AM and PM markers array. - * Default InvariantInfo for AM and PM is array('AM','PM'); - * @return array AM and PM markers - */ - function getAMPMMarkers() - { - return $this->data['AmPmMarkers']; - } - - /** - * Set the AM and PM markers array. - * For example array('AM','PM'); - * @param array AM and PM markers - */ - function setAMPMMarkers($value) - { - $this->data['AmPmMarkers'] = $value; - } - - /** - * Returns the full time pattern "HH:mm:ss z" (default). - * This is culture sensitive. - * @return string pattern "HH:mm:ss z". - */ - function getFullTimePattern() - { - return $this->data['DateTimePatterns'][0]; - } - - /** - * Returns the long time pattern "HH:mm:ss z" (default). - * This is culture sensitive. - * @return string pattern "HH:mm:ss z". - */ - function getLongTimePattern() - { - return $this->data['DateTimePatterns'][1]; - } - - /** - * Returns the medium time pattern "HH:mm:ss" (default). - * This is culture sensitive. - * @return string pattern "HH:mm:ss". - */ - function getMediumTimePattern() - { - return $this->data['DateTimePatterns'][2]; - } - - /** - * Returns the short time pattern "HH:mm" (default). - * This is culture sensitive. - * @return string pattern "HH:mm". - */ - function getShortTimePattern() - { - return $this->data['DateTimePatterns'][3]; - } - - /** - * Returns the full date pattern "EEEE, yyyy MMMM dd" (default). - * This is culture sensitive. - * @return string pattern "EEEE, yyyy MMMM dd". - */ - function getFullDatePattern() - { - return $this->data['DateTimePatterns'][4]; - } - - /** - * Returns the long date pattern "yyyy MMMM d" (default). - * This is culture sensitive. - * @return string pattern "yyyy MMMM d". - */ - function getLongDatePattern() - { - return $this->data['DateTimePatterns'][5]; - } - - /** - * Returns the medium date pattern "yyyy MMMM d" (default). - * This is culture sensitive. - * @return string pattern "yyyy MMM d". - */ - function getMediumDatePattern() - { - return $this->data['DateTimePatterns'][6]; - } - - /** - * Returns the short date pattern "yy/MM/dd" (default). - * This is culture sensitive. - * @return string pattern "yy/MM/dd". - */ - function getShortDatePattern() - { - return $this->data['DateTimePatterns'][7]; - } - - /** - * Returns the date time order pattern, "{1} {0}" (default). - * This is culture sensitive. - * @return string pattern "{1} {0}". - */ - function getDateTimeOrderPattern() - { - return $this->data['DateTimePatterns'][8]; - } - - /** - * Formats the date and time in a culture sensitive paterrn. - * The default is "Date Time". - * @return string date and time formated - */ - function formatDateTime($date, $time) - { - $pattern = $this->getDateTimeOrderPattern(); - return str_replace(array('{0}','{1}'), array($time, $date), $pattern); - } - -} + + * @version $Revision: 1.2 $ $Date: 2005/01/05 03:15:14 $ + * @package System.I18N.core + */ + +/** + * Get the CultureInfo class. + */ +require_once(dirname(__FILE__).'/CultureInfo.php'); + + +/** + * Defines how DateTime values are formatted and displayed, depending + * on the culture. + * + * This class contains information, such as date patterns, time patterns, + * and AM/PM designators. + * + * To create a DateTimeFormatInfo for a specific culture, create a + * CultureInfo for that culture and retrieve the CultureInfo.DateTimeFormat + * property. For example: + * + * $culture = new CultureInfo('en_AU'); + * $dtfi = $culture->DateTimeFormat; + * + * + * To create a DateTimeFormatInfo for the invariant culture, use + * + * DateTimeFormatInfo::getInstance($culture=null); + * + * you may pass a CultureInfo parameter $culture to get the DateTimeFormatInfo + * for a specific culture. + * + * DateTime values are formatted using standard or custom patterns stored in + * the properties of a DateTimeFormatInfo. + * + * The standard patterns can be replaced with custom patterns by setting the + * associated properties of DateTimeFormatInfo. + * + * The following table lists the standard format characters for each standard + * pattern and the associated DateTimeFormatInfo property that can be set to + * modify the standard pattern. The format characters are case-sensitive; + * for example, 'g' and 'G' represent slightly different patterns. + * + * + * Format Character Associated Property Example Format Pattern (en-US) + * -------------------------------------------------------------------------- + * d ShortDatePattern MM/dd/yyyy + * D LongDatePattern dddd, dd MMMM yyyy + * F FullDateTimePattern dddd, dd MMMM yyyy HH:mm:ss + * m, M MonthDayPattern MMMM dd + * r, R RFC1123Pattern ddd, dd MMM yyyy HH':'mm':'ss 'GMT' + * s SortableDateTimePattern yyyy'-'MM'-'dd'T'HH':'mm':'ss + * t ShortTimePattern HH:mm + * T LongTimePattern HH:mm:ss + * Y YearMonthPattern yyyy MMMM + * -------------------------------------------------------------------------- + * + * + * @author Xiang Wei Zhuo + * @version v1.0, last update on Fri Dec 03 22:30:31 EST 2004 + * @package System.I18N.core + */ +class DateTimeFormatInfo +{ + /** + * ICU date time formatting data. + * @var array + */ + private $data = array(); + + /** + * A list of properties that are accessable/writable. + * @var array + */ + protected $properties = array(); + + /** + * Allow functions that begins with 'set' to be called directly + * as an attribute/property to retrieve the value. + * @return mixed + */ + function __get($name) + { + $getProperty = 'get'.$name; + if(in_array($getProperty, $this->properties)) + return $this->$getProperty(); + else + throw new Exception('Property '.$name.' does not exists.'); + } + + /** + * Allow functions that begins with 'set' to be called directly + * as an attribute/property to set the value. + */ + function __set($name, $value) + { + $setProperty = 'set'.$name; + if(in_array($setProperty, $this->properties)) + $this->$setProperty($value); + else + throw new Exception('Property '.$name.' can not be set.'); + } + + /** + * Initializes a new writable instance of the DateTimeFormatInfo class + * that is dependent on the ICU data for date time formatting + * information. N.B.You should not initialize this class directly + * unless you know what you are doing. Please use use + * DateTimeFormatInfo::getInstance() to create an instance. + * @param array ICU data for date time formatting. + * @see getInstance() + */ + function __construct($data=array()) + { + $this->properties = get_class_methods($this); + + if(empty($data)) + throw new Exception('Please provide the ICU data to initialize.'); + + $this->data = $data; + } + + /** + * Get the internal ICU data for date time formatting. + * @return array ICU date time formatting data. + */ + protected function getData() + { + return $this->data; + } + + /** + * Gets the default DateTimeFormatInfo that is culture-independent + * (invariant). + * @return DateTimeFormatInfo default DateTimeFormatInfo. + */ + static function getInvariantInfo() + { + static $invariant; + if($invariant === null) + { + $culture = CultureInfo::getInvariantCulture(); + $invariant = $culture->getDateTimeFormat(); + } + return $invariant; + } + + /** + * Returns the DateTimeFormatInfo associated with the specified culture. + * @param CultureInfo the culture that gets the DateTimeFormat property. + * @return DateTimeFormatInfo DateTimeFormatInfo for the specified + * culture. + */ + static function getInstance($culture=null) + { + + if ($culture instanceof CultureInfo) + return $culture->getDateTimeFormat(); + else if(is_string($culture)) + { + $cultureInfo = CultureInfo::getInstance($culture); + return $cultureInfo->getDateTimeFormat(); + } + else + { + $cultureInfo = CultureInfo::getInvariantCulture(); + return $cultureInfo->getDateTimeFormat(); + } + } + + /** + * A one-dimensional array of type String containing + * the culture-specific abbreviated names of the days + * of the week. The array for InvariantInfo contains + * "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", and "Sat". + * @return array abbreviated day names + */ + function getAbbreviatedDayNames() + { + return $this->data['dayNames']['format']['abbreviated']; + //return $this->data['dayNames/format/abbreviated']; + } + + /** + * Set the abbreviated day names. The value should be + * an array of string starting with Sunday and ends in Saturady. + * For example, + * array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"); + * @param array abbreviated day names. + */ + function setAbbreviatedDayNames($value) + { + $this->data['dayNames']['format']['abbreviated'] = $value; + } + + /** + * A one-dimensional array of type String containing + * the culture-specific narrow names of the days + * of the week. The array for InvariantInfo contains + * "S", "M", "T", "W", "T", "F", and "S". + * @return array narrow day names + */ + function getNarrowDayNames() + { + return $this->data['dayNames']['format']['narrow']; + } + + /** + * Set the narrow day names. The value should be + * an array of string starting with Sunday and ends in Saturady. + * For example, + * array("S", "M", "T", "W", "T", "F", "S"); + * @param array narrow day names. + */ + function setNarrowDayNames($value) + { + $this->data['dayNames']['format']['narrow'] = $value; + } + + /** + * A one-dimensional array of type String containing the + * culture-specific full names of the days of the week. + * The array for InvariantInfo contains "Sunday", "Monday", + * "Tuesday", "Wednesday", "Thursday", "Friday", and "Saturday". + * @return array day names + */ + function getDayNames() + { + return $this->data['dayNames']['format']['wide']; + } + + + /** + * Set the day names. The value should be + * an array of string starting with Sunday and ends in Saturady. + * For example, + * array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", + * "Friday", "Saturday".); + * @param array day names. + */ + function setDayNames($value) + { + $this->data['dayNames']['format']['wide'] = $value; + } + + /** + * A one-dimensional array of type String containing the + * culture-specific narrow names of the months. The array + * for InvariantInfo contains "J", "F", "M", "A", "M", "J", + * "J", "A", "S", "O", "N", and "D". + * @return array narrow month names. + */ + function getNarrowMonthNames() + { + return $this->data['monthNames']['format']['narrow']; + } + + /** + * Set the narrow month names. The value should be + * an array of string starting with J and ends in D. + * For example, + * array("J","F","M","A","M","J","J","A","S","O","N","D"); + * @param array month names. + */ + function setNarrowMonthNames($value) + { + $this->data['monthNames']['format']['narrow'] = $value; + } + + /** + * A one-dimensional array of type String containing the + * culture-specific abbreviated names of the months. The array + * for InvariantInfo contains "Jan", "Feb", "Mar", "Apr", "May", + * "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", and "Dec". + * Returns wide names if abbreviated names doesn't exist. + * @return array abbreviated month names. + */ + function getAbbreviatedMonthNames() + { + if (isset($this->data['monthNames']['format']['abbreviated'])) + return $this->data['monthNames']['format']['abbreviated']; + else + return $this->data['monthNames']['format']['wide']; + } + + /** + * Set the abbreviated month names. The value should be + * an array of string starting with Jan and ends in Dec. + * For example, + * array("Jan", "Feb", "Mar", "Apr", "May", "Jun", + * "Jul", "Aug", "Sep","Oct","Nov","Dec"); + * @param array month names. + */ + function setAbbreviatedMonthNames($value) + { + $this->data['monthNames']['format']['abbreviated'] = $value; + } + + /** + * A one-dimensional array of type String containing the + * culture-specific full names of the months. The array for + * InvariantInfo contains "January", "February", "March", "April", + * "May", "June", "July", "August", "September", "October", "November", + * and "December" + * @return array month names. + */ + function getMonthNames() + { + return $this->data['monthNames']['format']['wide']; + } + + /** + * Set the month names. The value should be + * an array of string starting with Janurary and ends in December. + * For example, + * array("January", "February", "March", "April", "May", "June", + * "July", "August", "September","October","November","December"); + * @param array month names. + */ + function setMonthNames($value) + { + $this->data['monthNames']['format']['wide'] = $value; + } + + /** + * A string containing the name of the era. + * @param int era The integer representing the era. + * @return string the era name. + */ + function getEra($era) + { + $eraName = $this->data['eras']['abbreviated']; + return $eraName[$era]; + } + + /** + * The string designator for hours that are "ante meridiem" (before noon). + * The default for InvariantInfo is "AM". + * @return string AM designator. + */ + function getAMDesignator() + { + $result = $this->getAMPMMarkers(); + return $result[0]; + } + + /** + * Set the AM Designator. For example, 'AM'. + * @param string AM designator. + */ + function setAMDesignator($value) + { + $markers = $this->getAMPMMarkers(); + $markers[0] = $value; + $this->setAMPMMarkers($markers); + } + + /** + * The string designator for hours that are "post meridiem" (after noon). + * The default for InvariantInfo is "PM". + * @return string PM designator. + */ + function getPMDesignator() + { + $result = $this->getAMPMMarkers(); + return $result[1]; + } + + /** + * Set the PM Designator. For example, 'PM'. + * @param string PM designator. + */ + function setPMDesignator($value) + { + $markers = $this->getAMPMMarkers(); + $markers[1] = $value; + $this->setAMPMMarkers($markers); + } + + /** + * Get the AM and PM markers array. + * Default InvariantInfo for AM and PM is array('AM','PM'); + * @return array AM and PM markers + */ + function getAMPMMarkers() + { + return $this->data['AmPmMarkers']; + } + + /** + * Set the AM and PM markers array. + * For example array('AM','PM'); + * @param array AM and PM markers + */ + function setAMPMMarkers($value) + { + $this->data['AmPmMarkers'] = $value; + } + + /** + * Returns the full time pattern "HH:mm:ss z" (default). + * This is culture sensitive. + * @return string pattern "HH:mm:ss z". + */ + function getFullTimePattern() + { + return $this->data['DateTimePatterns'][0]; + } + + /** + * Returns the long time pattern "HH:mm:ss z" (default). + * This is culture sensitive. + * @return string pattern "HH:mm:ss z". + */ + function getLongTimePattern() + { + return $this->data['DateTimePatterns'][1]; + } + + /** + * Returns the medium time pattern "HH:mm:ss" (default). + * This is culture sensitive. + * @return string pattern "HH:mm:ss". + */ + function getMediumTimePattern() + { + return $this->data['DateTimePatterns'][2]; + } + + /** + * Returns the short time pattern "HH:mm" (default). + * This is culture sensitive. + * @return string pattern "HH:mm". + */ + function getShortTimePattern() + { + return $this->data['DateTimePatterns'][3]; + } + + /** + * Returns the full date pattern "EEEE, yyyy MMMM dd" (default). + * This is culture sensitive. + * @return string pattern "EEEE, yyyy MMMM dd". + */ + function getFullDatePattern() + { + return $this->data['DateTimePatterns'][4]; + } + + /** + * Returns the long date pattern "yyyy MMMM d" (default). + * This is culture sensitive. + * @return string pattern "yyyy MMMM d". + */ + function getLongDatePattern() + { + return $this->data['DateTimePatterns'][5]; + } + + /** + * Returns the medium date pattern "yyyy MMMM d" (default). + * This is culture sensitive. + * @return string pattern "yyyy MMM d". + */ + function getMediumDatePattern() + { + return $this->data['DateTimePatterns'][6]; + } + + /** + * Returns the short date pattern "yy/MM/dd" (default). + * This is culture sensitive. + * @return string pattern "yy/MM/dd". + */ + function getShortDatePattern() + { + return $this->data['DateTimePatterns'][7]; + } + + /** + * Returns the date time order pattern, "{1} {0}" (default). + * This is culture sensitive. + * @return string pattern "{1} {0}". + */ + function getDateTimeOrderPattern() + { + return $this->data['DateTimePatterns'][8]; + } + + /** + * Formats the date and time in a culture sensitive paterrn. + * The default is "Date Time". + * @return string date and time formated + */ + function formatDateTime($date, $time) + { + $pattern = $this->getDateTimeOrderPattern(); + return str_replace(array('{0}','{1}'), array($time, $date), $pattern); + } + +} -- cgit v1.2.3