27

在 Salesforce 中,如果我将日期绑定到 VisualForce 页面,如何对其应用自定义格式?

例子:

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

这将以默认格式输出日期:

2009 年 7 月 1 日星期四 09:10:23 GMT

如何将它(例如)转换为 dd/mm/yyyy 格式,如下所示:

2009 年 1 月 7 日

(希望这是一个相当简单的问题,但要让 Salesforce 社区继续前进,我认为我们需要一些简单的问题。)

4

2 回答 2

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

完整文档链接:http: //www.salesforce.com/us/developer/docs/pages/Content/pages_compref_outputText.htm

于 2010-03-25T16:43:10.227 回答
3

答案似乎取决于上下文。我有一个 VF 页面,它使用 NOW() 的值预先填充任务的主题行。为了使用用户的区域设置记录它,我在控制器中包含了格式化日期和日期时间字段的方法,如下所示:

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

但是刚才在另一个 VF 页面中,我只显示了一个日期时间字段,我确认 SFDC 处理了基于用户的区域设置设置的格式。那是在这种情况下,其中 cm.CampaignMembers 是来自控制器的变量:

    <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>
于 2014-01-21T00:53:00.063 回答