DateHelper (date_format) in symfony
by rp
DateHelper is quite a useful helper in symfony, though I am not a big fan of introducing a ton of functions (concerned about possible name space collision, two functions with the same name etc) but anyway that’s a discussion for another day.
DateHelper has a particular function format_date which is quite good for formatting dates, esp that come straight from the propel object. However looking at the Helper file DateHelper.php you cant really tell what sort of formats does it accept and no it doesnt take the standard PHP date formats.
Digging a little further I found the details in another file sfDateFormat.class.php and as the class states.
The sfDateFormat class allows you to format dates and times with predefined styles in a locale-sensitive manner. Formatting times with the sfDateFormat class is similar to formatting dates. Formatting dates with the
sfDateFormatclass is a two-step process. First, you create a formatter with the getDateInstance method. Second, you invoke the format method, which returns a string containing the formatted date.DateTime values are formatted using standard or custom patterns stored in the properties of a DateTimeFormatInfo.
The following is the code snippet frm sfDateFormat of the “shortcuts” for the predefined formats that can be use in the format_date function:
sfDateFormat::getPattern()
switch ($pattern)
{
case 'd':
return $this->formatInfo->ShortDatePattern;
break;
case 'D':
return $this->formatInfo->LongDatePattern;
break;
case 'p':
return $this->formatInfo->MediumDatePattern;
break;
case 'P':
return $this->formatInfo->FullDatePattern;
break;
case 't':
return $this->formatInfo->ShortTimePattern;
break;
case 'T':
return $this->formatInfo->LongTimePattern;
break;
case 'q':
return $this->formatInfo->MediumTimePattern;
break;
case 'Q':
return $this->formatInfo->FullTimePattern;
break;
case 'f':
return $this->formatInfo->formatDateTime($this->formatInfo->LongDatePattern, $this->formatInfo->ShortTimePattern);
break;
case 'F':
return $this->formatInfo->formatDateTime($this->formatInfo->LongDatePattern, $this->formatInfo->LongTimePattern);
break;
case 'g':
return $this->formatInfo->formatDateTime($this->formatInfo->ShortDatePattern, $this->formatInfo->ShortTimePattern);
break;
case 'G':
return $this->formatInfo->formatDateTime($this->formatInfo->ShortDatePattern, $this->formatInfo->LongTimePattern);
break;
case 'i':
return 'yyyy-MM-dd';
break;
case 'I':
return 'yyyy-MM-dd HH:mm:ss';
break;
case 'M':
case 'm':
return 'MMMM dd';
break;
case 'R':
case 'r':
return 'EEE, dd MMM yyyy HH:mm:ss';
break;
case 's':
return 'yyyy-MM-ddTHH:mm:ss';
break;
case 'u':
return 'yyyy-MM-dd HH:mm:ss z';
break;
case 'U':
return 'EEEE dd MMMM yyyy HH:mm:ss';
break;
case 'Y':
case 'y':
return 'yyyy MMMM';
break;
default :
return $pattern;
}
Is there a way to become a content writer for the site?