2010-03-25 14 views
26

Dans Salesforce, si je lie une date dans une page VisualForce, comment puis-je appliquer une mise en forme personnalisée?Comment formater une date dans VisualForce?

Exemple:

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

Ceci affichera une date dans le format par défaut:

jeu 1 juillet 09:10:23 GMT 2009

Comment puis-je la (par exemple) au format jj/mm/aaaa, comme ceci:

01/07/2009

(Espérons que cela est une question assez facile, mais pour obtenir la communauté Salesforce se passe ici je figure nous avons besoin de quelques questions faciles.)

Répondre

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

lien vers plein doc: http://www.salesforce.com/us/developer/docs/pages/Content/pages_compref_outputText.htm

+3

En utilisant cette approche, vous pouvez utiliser les classes complètes de mise en forme de date JAVA pour formater: DateTimes, des chiffres et des devises. – Daveo

+0

Bon à savoir Je l'ai cherché pendant un moment! Merci –

+2

Pouvez-vous poster un lien pour la documentation? J'aimerais savoir quels sont les deux premiers paramètres de l'apex: outputText (0, date). Merci. –

2

La réponse semble dépendre du contexte. J'ai une page VF qui préremplit la ligne Objet d'une tâche avec la valeur de NOW(). Pour enregistrer avec des paramètres locaux de l'utilisateur, j'ai inclus des méthodes dans le contrôleur aux champs de date de format et datetime, le long de ces lignes:

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

Mais maintenant dans une autre page VF où je suis simplement l'affichage d'un champ datetime, J'ai confirmé que SFDC gérait le formatage en fonction du paramètre Locale de l'utilisateur. Ce fut dans ce contexte, où cm.CampaignMembers est une variable du contrôleur:

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