You are here

function date_iso2array in Date 5

3 calls to date_iso2array()
date_iso2custom in ./date.inc
date_set_date in ./date.inc
Function to set local and db date parts in the date object
date_unset_granularity in ./date.inc
Unset undesired date part values.

File

./date.inc, line 1171
Date/time API functions

Code

function date_iso2array($iso) {
  if (!date_preg($iso)) {
    return 'ERROR';
  }
  if (!date_is_valid($iso, DATE_ISO)) {
    return 'ERROR';
  }

  // a unix date requires a year, month, and day
  if (date_iso_year($iso) && date_iso_mon($iso) && date_iso_day($iso)) {
    $unix = date_iso2unix($iso);
    if ($unix === 'ERROR') {
      return 'ERROR';
    }
    else {
      return date_unix2array($unix);
    }

    // an iso date is valid even without a month and/or a day
  }
  elseif (date_iso_year($iso)) {
    return array(
      'year' => date_iso_year($iso),
      'mon' => date_iso_mon($iso),
      'mday' => date_iso_day($iso),
      'hours' => date_iso_hours($iso),
      'minutes' => date_iso_minutes($iso),
      'seconds' => date_iso_seconds($iso),
      0 => NULL,
    );
  }
  else {
    return 'ERROR';
  }
}