2010-03-25 49 views
26

En Salesforce, si estoy vinculando una fecha en una página de VisualForce, ¿cómo le aplico el formato personalizado?¿Cómo formatear una fecha en VisualForce?

Ejemplo:

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

Esta es la salida de una fecha en el formato por defecto:

Jue Jul 01 09:10:23 GMT 2009

Cómo lo consigo (por ejemplo) en formato dd/mm/aaaa, como este:

01/07/2009

(Esperemos que esto es una pregunta bastante fácil, pero para llegar a la comunidad de Salesforce pasando aquí Calculo que necesitamos unas pocas preguntas fáciles.)

Respuesta

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

enlace a plena doc: http://www.salesforce.com/us/developer/docs/pages/Content/pages_compref_outputText.htm

+3

uso de este enfoque puede utilizar las clases de formato completo de fecha JAVA para dar formato a: datetimes, números y moneda. – Daveo

+0

Es bueno saber ¡He estado buscando esto por un tiempo! Gracias –

+2

¿Puedes publicar un enlace para la documentación? Me gustaría saber qué significan los dos primeros parámetros en apex: outputText (0, date). Gracias. –

2

La respuesta parece depender del contexto. Tengo una página de VF que rellena previamente la línea Asunto de una tarea con el valor de AHORA(). Para grabar con la configuración regional del usuario, incluí métodos en el controlador a los campos de fecha y el formato de fecha y hora, a lo largo de estas líneas:

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

Pero ahora en otra página VF donde sólo estoy mostrando un campo de fecha y hora, Confirmé que SFDC manejó el formato en función de la configuración de configuración regional del usuario. Eso fue en este contexto, donde cm.CampaignMembers es una variable del controlador:

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