2013-02-19 69 views
1

有没有什么方法可以使用<apex:outputText>标签在用户的时区中显示时间?我正在使用下面的标记,没有Apex控制器:使用Apex显示日期时间:outputtext

<apex:outputLink rendered="{! fld == 'Due__c'}" onclick="updateDueDate('{!r.Id}');return false;" styleClass="actionLink"> 
    <apex:outputText value="{0,date,M/d/yyyy h:mm a}" > 
     <apex:param value="{!r[fld]}"/> 
    </apex:outputText> 
</apex:outputLink> 

这样的结果是日期显示在GMT时区。请让我知道我们如何在当前用户的时区显示它。

回答

1

你可以这样做,但你必须在控制器中格式化它。 在那里,你可以使用类似:

DateTime.now().format('dd-MM-yyyy HH:mm:ss',Timezone); 

但你必须做在控制器中。您无法在Visualforce页面或公式中执行此操作。

+1

“TimeZone”是否是变量?它是什么? – turbo2oh 2014-05-09 19:19:25

0

我有同样的问题,只是它的工作对我来说是使用输出文本的outputField替代方式。这将格式化为本地用户

<apex:outputField value="{!date_field__c}"/>