2010-03-25 14 views
26

Wenn ich in Salesforce ein Datum an eine VisualForce-Seite binde, wie kann ich benutzerdefinierte Formatierung darauf anwenden?Wie formatiert man ein Datum in VisualForce?

Beispiel:

<apex:page standardController="Contact"> 
    <apex:pageBlock title="Test"> 
     <p>{!contact.Birthdate}</p> 
    </apex:pageBlock>     
    <apex:detail relatedList="false" /> 
</apex:page> 

Dies wird geben ein Datum im Standardformat:

Do 1. Juli 09.10.23 GMT 2009

Wie kann ich es bekommen (zum Beispiel) in das Format TT/MM/JJJJ, so:

01/07/2009

(Hoffentlich ist dies eine ziemlich einfache Frage, aber die Salesforce-Community geht hier ich meine, wir brauchen ein paar einfache Fragen. Erhalten)

Antwort

49
<apex:outputText value="{0,date,MM'/'dd'/'yyyy}"> 
    <apex:param value="{!contact.Birthdate}" /> 
</apex:outputText> 

Link zum Voll doc: http://www.salesforce.com/us/developer/docs/pages/Content/pages_compref_outputText.htm

+3

Mit diesem Ansatz Sie die vollständigen JAVA Datumsformatierung Klassen verwenden können, zu formatieren: Datetimes, Zahlen und Währung. – Daveo

+0

Gut zu wissen, dass ich schon eine Weile gesucht habe! Danke –

+2

Können Sie einen Link für die Dokumentation veröffentlichen? Ich würde gerne wissen, was die ersten beiden Parameter in Apex: outputText (0, date) bedeuten. Vielen Dank. –

2

Die Antwort scheint vom Kontext abhängig zu sein. Ich habe eine VF-Seite, die die Betreffzeile einer Aufgabe mit dem Wert von NOW() vorbelegt. So nehmen Sie es mit dem Lokalisierungs-Einstellungen des Benutzers, I der Methoden im Controller-Format Datum und Datetime-Felder, entlang dieser Linien:

Datetime myDT = Datetime.now(); 
    String myDate = myDT.format(); 

Aber gerade jetzt in einer anderen Seite VF, wo ich nur ein Datetime-Feld angezeigt wird, Ich habe bestätigt, dass SFTC die Formatierung basierend auf der Ländereinstellung des Benutzers verarbeitet hat. Das war in diesem Zusammenhang, wo cm.CampaignMembers ist eine Variable von der Steuerung:

<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>