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 2009
次のようにdd/mm/yyyy形式に(たとえば)取得するにはどうすればよいですか:
2009年1月7日
(うまくいけば、これはかなり簡単な質問ですが、ここでSalesforceコミュニティを進めるには、いくつか簡単な質問が必要だと思います。)
<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
答えはコンテキストに依存するようです。 NOW()の値をタスクの件名行に事前入力する1つのVFページがあります。ユーザーのロケール設定でそれを記録するために、これらの行に沿って日付と日付時刻フィールドをフォーマットするメソッドをコントローラーに含めました。
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>