[SalesForce] Date format in email template

I need to format a date field in Visual Force email template so that it is of the form:

December 5, 2012

I check date format guidelines in force documentation and find this:
http://www.salesforce.com/us/developer/docs/pages/Content/pages_compref_outputText.htm

I don't think this does not give me the full range of options available. Anyone got a link which does?

Best Answer

I think here you will be needed an apex method, something like this:

public List<String> monthList = new List<String>{'January',
                                                 'February',
                                                 'March',
                                                 'April',
                                                 'May',
                                                 'June',
                                                 'July',
                                                 'August',
                                                 'September',
                                                 'October',
                                                 'November',
                                                 'December'};

public String getDateFormatted(Date myDate)
{
    return monthList.get(myDate.month() - 1) + ' ' + myDate.day() + ', ' + myDate.year();
}

UPDATE: for use at the visualforce page you can use following code:

<apex:outputText value="{0,date, MMMM ,d  yyyy}">
    <apex:param value="{!NOW()}" />
</apex:outputText>

See the Java documentation for all the pattern letters that can be used when formatting dates.