Привет всем.
Простейшая задача вызвала у меня непонятные сложности.
Есть объект, в нем поле DateTime. Надо на Visualforce странице показать только время (time).
Но показать не просто а в локали пользователя.
Чтобы вывести дату в локали пользователя обычно использую apex:outputField
Чтобы отформатировать дату везде предлагают вот такой пример:
<apex:outputText value="The formatted time right now is:
{0,date,yyyy.MM.dd G 'at' HH:mm:ss z}">
<apex:param value="{!NOW()}" />
</apex:outputText>
Скрестить их вместе тоже не получается:
value for <apex:outputField> is not a dynamic binding!
Подскажите просто и элегантное решение.
Привет всем. Простейшая задача вызвала у меня непонятные сложности. Есть объект, в нем поле DateTime. Надо на Visualforce странице показать только время (time). Но показать не просто а в локали пользователя. Чтобы вывести дату в локали пользователя обычно использую apex:outputField Чтобы отформатировать дату везде предлагают вот такой пример: [code] <apex:outputText value="The formatted time right now is: {0,date,yyyy.MM.dd G 'at' HH:mm:ss z}"> <apex:param value="{!NOW()}" /> </apex:outputText> [/code] НО проблема в том что тогда дата выводится в GMT, а не в локали пользователя потому что тут apex:outputText Скрестить их вместе тоже не получается: value for <apex:outputField> is not a dynamic binding! Подскажите просто и элегантное решение.
Нашел вот такое решение:
inputField DateTime format
здесь предлагают получать время из datetime field еще в контроллере и передавать на страницу в виде string
public class myObjectWrapper{
public String formatDate{get; set;}
public MyObject__c obj{get; set;}
public myObjectWrapper(MyObject__c obj){
this.obj = obj;
formatDate = obj.MyDate__c.format("yyyy-MM-dd HH:mm:ss");
}
}
Нашел вот такое решение: [url=https://developer.salesforce.com/forums/ForumsMain?id=906F000000099ElIAI]inputField DateTime format[/url] здесь предлагают получать время из datetime field еще в контроллере и передавать на страницу в виде string [code] public class myObjectWrapper{ public String formatDate{get; set;} public MyObject__c obj{get; set;} public myObjectWrapper(MyObject__c obj){ this.obj = obj; formatDate = obj.MyDate__c.format("yyyy-MM-dd HH:mm:ss"); } } [/code] Попробовал, вроде работает.