X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FUtils%2FDate.php;h=74a450db7876875fab484533487245425bd20f8e;hb=7b99ead305123c7575da2e162e3bc204981c8bc9;hp=ad424aa87b93768ee3b6c7ff024e61dba24a54ec;hpb=4996e8bb75d3d19ea6050f38d34594bbd7f94043;p=civicrm-core.git diff --git a/CRM/Utils/Date.php b/CRM/Utils/Date.php index ad424aa87b..74a450db78 100644 --- a/CRM/Utils/Date.php +++ b/CRM/Utils/Date.php @@ -1,9 +1,9 @@ 12) { return $invalidDate; @@ -85,7 +85,7 @@ class CRM_Utils_Date { $date['M'] = 1; } - if (CRM_Utils_Array::value('d', $date)) { + if (!empty($date['d'])) { $date['d'] = (int ) $date['d']; } else { @@ -106,7 +106,7 @@ class CRM_Utils_Date { CRM_Utils_Array::value('s', $date) != NULL ) { // we have time too.. - if (CRM_Utils_Array::value('h', $date)) { + if (!empty($date['h'])) { if (CRM_Utils_Array::value('A', $date) == 'PM' or CRM_Utils_Array::value('a', $date) == 'pm') { if ($date['h'] != 12) { $date['h'] = $date['h'] + 12; @@ -125,14 +125,14 @@ class CRM_Utils_Date { } // in 24-hour format the hour is under the 'H' key - if (CRM_Utils_Array::value('H', $date)) { + if (!empty($date['H'])) { $date['H'] = (int) $date['H']; } else { $date['H'] = 0; } - if (CRM_Utils_Array::value('i', $date)) { + if (!empty($date['i'])) { $date['i'] = (int ) $date['i']; } else { @@ -143,7 +143,7 @@ class CRM_Utils_Date { $date['h'] = $date['H']; } - if (CRM_Utils_Array::value('s', $date)) { + if (!empty($date['s'])) { $date['s'] = (int ) $date['s']; } else { @@ -208,6 +208,8 @@ class CRM_Utils_Date { /** * return abbreviated month names according to the locale * + * @param bool $month + * * @return array 1-based array with abbreviated month names * * @static @@ -248,6 +250,11 @@ class CRM_Utils_Date { return $fullMonthNames; } + /** + * @param $string + * + * @return int + */ static function unixTime($string) { if (empty($string)) { return 0; @@ -281,10 +288,11 @@ class CRM_Utils_Date { * %P - uppercase ante/post meridiem ('AM', 'PM') * %Y - year as a decimal number including the century ('2005') * - * @param string $date date and time in 'YYYY-MM-DD hh:mm:ss' format - * @param string $format the output format - * @param array $dateParts an array with the desired date parts + * @param string $dateString + * @param string $format the output format + * @param array $dateParts an array with the desired date parts * + * @internal param string $date date and time in 'YYYY-MM-DD hh:mm:ss' format * @return string the $format-formatted $date * * @static @@ -472,9 +480,11 @@ class CRM_Utils_Date { /** * converts the any given date to default date format. * - * @param array $params has given date-format - * @param int $dateType type of date - * @param string $dateParam index of params + * @param array $params has given date-format + * @param int $dateType type of date + * @param string $dateParam index of params + * + * @return bool * @static */ static function convertToDefaultDate(&$params, $dateType, $dateParam) { @@ -483,7 +493,7 @@ class CRM_Utils_Date { $prevCen = $cen - 1; $value = NULL; - if (CRM_Utils_Array::value($dateParam, $params)) { + if (!empty($params[$dateParam])) { // suppress hh:mm or hh:mm:ss if it exists CRM-7957 $value = preg_replace("/(\s(([01]\d)|[2][0-3])(:([0-5]\d)){1,2})$/", "", $params[$dateParam]); } @@ -654,6 +664,11 @@ class CRM_Utils_Date { return FALSE; } + /** + * @param $date + * + * @return bool + */ static function isDate(&$date) { if (CRM_Utils_System::isNull($date)) { return FALSE; @@ -661,10 +676,21 @@ class CRM_Utils_Date { return TRUE; } + /** + * @param null $timeStamp + * + * @return bool|string + */ static function currentDBDate($timeStamp = NULL) { return $timeStamp ? date('YmdHis', $timeStamp) : date('YmdHis'); } + /** + * @param $date + * @param null $now + * + * @return bool + */ static function overdue($date, $now = NULL) { $mysqlDate = self::isoToMysql($date); if (!$now) { @@ -742,7 +768,10 @@ class CRM_Utils_Date { * Function to get start date and end from * the given relative term and unit * - * @param date $relative eg: term.unit + * @param date $relative eg: term.unit + * + * @param $from + * @param $to * * @return array start date, end date * @static @@ -821,11 +850,13 @@ class CRM_Utils_Date { /** * Function to calculate next payment date according to provided unit & interval * - * @param string $unit frequency unit like year,month, week etc.. + * @param string $unit frequency unit like year,month, week etc.. + * + * @param int $interval frequency interval. * - * @param int $interval frequency interval. + * @param array $date start date of pledge. * - * @param array $date start date of pledge. + * @param bool $dontCareTime * * @return array $result contains new date with added interval * @access public @@ -886,6 +917,8 @@ class CRM_Utils_Date { * * @param $format given format ( eg 'M Y', 'Y M' ) * return array of qfMapping and date parts for date format. + * + * @return array|null|string */ static function &checkBirthDateFormat($format = NULL) { $birthDateFormat = NULL; @@ -1437,13 +1470,13 @@ class CRM_Utils_Date { /** * Function to process date, convert to mysql format * - * @param string $date date string - * @param string $time time string - * @param string $returnNullString 'null' needs to be returned + * @param string $date date string + * @param string $time time string + * @param bool|string $returnNullString 'null' needs to be returned * so that db oject will set null in db - * @param string $format expected return date format.( default is mysql ) + * @param string $format expected return date format.( default is mysql ) * - * @return string $mysqlDate date format that is excepted by mysql + * @return string $mysqlDate date format that is excepted by mysql */ static function processDate($date, $time = NULL, $returnNullString = FALSE, $format = 'YmdHis') { $mysqlDate = NULL; @@ -1462,9 +1495,13 @@ class CRM_Utils_Date { /** * Function to convert mysql to date plugin format * - * @param string $mysqlDate date string + * @param string $mysqlDate date string + * + * @param null $formatType + * @param null $format + * @param null $timeFormat * - * @return array $date and time + * @return array $date and time */ static function setDateDefaults($mysqlDate = NULL, $formatType = NULL, $format = NULL, $timeFormat = NULL) { // if date is not passed assume it as today @@ -1567,6 +1604,12 @@ class CRM_Utils_Date { } + /** + * @param $date + * @param $dateType + * + * @return null|string + */ static function formatDate($date, $dateType) { $formattedDate = NULL; if (empty($date)) {