ENHANCEMENT Allow calling Format() on a Time DB field type to specify the formatting type

MINOR Code formatting fixes for Date and Time classes
MINOR Added phpDoc comments to methods



git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@74786 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Sean Harvey 2009-04-20 22:32:13 +00:00
parent 9a5928438a
commit 515f7b1587
2 changed files with 38 additions and 11 deletions

View File

@ -79,10 +79,13 @@ class Date extends DBField {
} }
/** /**
* Return the date formatted using the given PHP formatting string * Return the date using a particular formatting string.
*
* @param string $format Format code string. e.g. "d M Y"
* @return string The date in the requested format
*/ */
function Format($formattingString) { function Format($format) {
if($this->value) return date($formattingString, strtotime($this->value)); if($this->value) return date($format, strtotime($this->value));
} }
/** /**
@ -304,6 +307,6 @@ class Date extends DBField {
public function scaffoldFormField($title = null, $params = null) { public function scaffoldFormField($title = null, $params = null) {
return new DateField($this->name, $title); return new DateField($this->name, $title);
} }
} }
?>
?>

View File

@ -13,17 +13,40 @@ class Time extends DBField {
if($value) { if($value) {
if(preg_match( '/(\d{1,2})[:.](\d{2})([ap]m)/', $value, $match )) $this->TwelveHour( $match ); if(preg_match( '/(\d{1,2})[:.](\d{2})([ap]m)/', $value, $match )) $this->TwelveHour( $match );
else $this->value = date('H:i:s', strtotime($value)); else $this->value = date('H:i:s', strtotime($value));
} else $value = null; } else {
$value = null;
}
} }
/**
* Return a user friendly format for time
* in a 12 hour format.
*
* @return string Time in 12 hour format
*/
function Nice() { function Nice() {
return date('g:ia', strtotime($this->value)); return date('g:ia', strtotime($this->value));
} }
/**
* Return a user friendly format for time
* in a 24 hour format.
*
* @return string Time in 24 hour format
*/
function Nice24() { function Nice24() {
return date('H:i', strtotime($this->value)); return date('H:i', strtotime($this->value));
} }
/**
* Return the time using a particular formatting string.
*
* @param string $format Format code string. e.g. "g:ia"
* @return string The date in the requested format
*/
function Format($format) {
if($this->value) return date($format, strtotime($this->value));
}
function TwelveHour( $parts ) { function TwelveHour( $parts ) {
$hour = $parts[1]; $hour = $parts[1];
@ -40,7 +63,8 @@ class Time extends DBField {
} }
public function scaffoldFormField($title = null, $params = null) { public function scaffoldFormField($title = null, $params = null) {
return new TimeField($this->name, $title); return new TimeField($this->name, $title);
} }
} }
?> ?>