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:23GMT

たとえば、次のように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

答えは文脈に依存しているようです。タスクの件名にNOW()の値を事前入力するVFページが1つあります。ユーザーのロケール設定でそれを記録するために、次の行に沿って日付と日時のフィールドをフォーマットするメソッドをコントローラーに含めました。

  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 に答える