function date_default_date in Date 7.2
Same name and namespace in other branches
- 7.3 date_api/date_api_elements.inc \date_default_date()
- 7 date_api/date_api_elements.inc \date_default_date()
Create a date object from a datetime string value.
4 calls to date_default_date()
- date_popup_element_value_callback in date_popup/
date_popup.module - Element value callback for date_popup element.
- date_select_element_process in date_api/
date_api_elements.inc - Flexible date/time drop-down selector.
- date_select_element_value_callback in date_api/
date_api_elements.inc - Element value callback for date_select element.
- date_text_element_value_callback in date_api/
date_api_elements.inc - Element value callback for date_text element.
File
- date_api/
date_api_elements.inc, line 111 - Date API elements themes and validation.
Code
function date_default_date(array $element) {
$granularity = date_format_order($element['#date_format']);
$default_value = $element['#default_value'];
$format = DATE_FORMAT_DATETIME;
// The text and popup widgets might return less than a full datetime string.
if (is_string($element['#default_value']) && strlen($element['#default_value']) < 19) {
switch (strlen($element['#default_value'])) {
case 16:
$format = 'Y-m-d H:i';
break;
case 13:
$format = 'Y-m-d H';
break;
case 10:
$format = 'Y-m-d';
break;
case 7:
$format = 'Y-m';
break;
case 4:
$format = 'Y';
break;
}
}
$date = new DateObject($default_value, $element['#date_timezone'], $format);
if (is_object($date)) {
$date
->limitGranularity($granularity);
if ($date
->validGranularity($granularity, $element['#date_flexible'])) {
date_increment_round($date, $element['#date_increment']);
}
return $date;
}
return NULL;
}