代码之家  ›  专栏  ›  技术社区  ›  codeulike

如何在VisualForce中设置日期格式?

  •  27
  • codeulike  · 技术社区  · 15 年前

    在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格式,如下所示:

    01/07/2009

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

    2 回复  |  直到 11 年前
        1
  •  50
  •   donjay    13 年前
    <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

        2
  •  3
  •   Scott_in_London    11 年前

    答案似乎取决于上下文。我有一个vf页面,它用now()的值预先填充任务的主题行。为了用用户的语言环境设置来记录它,我在控制器中包含了一些方法来格式化日期和日期时间字段,大致如下:

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

    但刚才在另一个vf页面上,我只显示了一个datetime字段,我确认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>