How to format a date in VisualForce?
In Salesforce, if I'm binding a date into a VisualForce p开发者_如何学JAVAage, how do I apply custom formatting to it?
Example:
<apex:page standardController="Contact">
<apex:pageBlock title="Test">
<p>{!contact.Birthdate}</p>
</apex:pageBlock>
<apex:detail relatedList="false" />
</apex:page>
This will output a date in the default format:
Thu Jul 01 09:10:23 GMT 2009
How do I get it (for example) into dd/mm/yyyy format, like this:
01/07/2009
(Hopefully this is a fairly easy question, but to get the Salesforce community going on here I figure we need a few easy questions.)
<apex:outputText value="{0,date,MM'/'dd'/'yyyy}">
<apex:param value="{!contact.Birthdate}" />
</apex:outputText>
link to full doc: http://www.salesforce.com/us/developer/docs/pages/Content/pages_compref_outputText.htm
The answer seems to depend on context. I have one VF page which pre-populates the Subject line of a task with the value of NOW(). To record it with the user's Locale settings, I included methods in the controller to format date and datetime fields, along these lines:
Datetime myDT = Datetime.now();
String myDate = myDT.format();
But just now in another VF page where I'm merely displaying a datetime field, I confirmed that SFDC handled formatting based on the user's Locale setting. That was in this context, where cm.CampaignMembers is a variable from the controller:
<apex:column>
<apex:pageBlockTable value="{!cm.CampaignMembers}" var="cmp" >
<apex:column headerValue="" value="{!cmp.Campaign.Name}" />
<apex:column headerValue="" value="{!cmp.Status}" />
<apex:column headerValue="" value="{!cmp.FirstRespondedDate}" />
<apex:column headervalue="" value="{!cmp.CreatedDate}" />
</apex:pageBlockTable>
</apex:column>
精彩评论