Вопрос

Если в Salesforce я привязываю дату к странице VisualForce, как применить к ней собственное форматирование?

Пример:

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

Это выведет дату в формате по умолчанию:

Четверг, 1 июля, 09:10:23 по Гринвичу, 2009 г.

Как мне получить его (например) в формате дд/мм/гггг, например так:

01/07/2009

(Надеюсь, это довольно простой вопрос, но, чтобы заинтересовать сообщество 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

Другие советы

Кажется, ответ зависит от контекста.У меня есть одна страница 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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top