http://blog.flect.co.jp/salesforce/2010/08/visualforce-16a.html
日本時間表示
------------------------------------------------------------------------------------------------------------
<apex:outputText value="{0, date, yyyy/MM/dd HH:mm}" > <apex:param value="{!contact.xxxx_c}"/> </apex:outputText>
datetime tempTime = contact.xxxxx__c;
String jstTime = tempTime.format('yyyy/MM/dd HH:mm', 'JST');
<apex:outputText value="{0,date,yyyy年MM月dd日}">
apex:param value="{!XXXX__c}" />
</apex:outputText>
<apex:outputText value="{0,date,yyyy年MM月dd日 HH時mm分ss秒}" >
<apex:param value="{!row.cap.CreatedDate + 0.375}" />
</apex:outputText>
<!-- カンマ区切り数値 --> <apex:outputtext value="{0, number, ###,###}"> <apex:param value="{!ItemNumber}"></apex:param> </apex:outputtext> <!-- 0埋め6桁数値 --> <apex:outputtext value="{0, number, 000000}"> <apex:param value="{!ItemNumber}"></apex:param> </apex:outputtext> <!-- 日付と時刻 --> <apex:outputtext value="{0, date, yyyy/MM/dd HH:mm:ss}"> <apex:param value="{!ItemDate}"></apex:param> </apex:outputtext>
数式で時間差を算出
IF(ISNULL(EndDate__c),'',
LPAD(TEXT(
FLOOR(
(
(EndDate__c - RealStartDate__c) * 1440
- IF(ISNULL(BreakEndDate__c) || ISNULL(BreakStartDate__c),0, (BreakEndDate__c - BreakStartDate__c) * 1440)
- IF(ISNULL(BreakEndDate2__c) || ISNULL(BreakStartDate2__c),0, (BreakEndDate2__c - BreakStartDate2__c) * 1440)
- IF(ISNULL(BreakEndDate3__c) || ISNULL(BreakStartDate3__c),0, (BreakEndDate3__c - BreakStartDate3__c) * 1440)
) / 60
)
),2,"0")
& ":" &
RIGHT(
"0" & TEXT(
ROUND(MOD(
(
(EndDate__c - RealStartDate__c) * 1440
- IF(ISNULL(BreakEndDate__c) || ISNULL(BreakStartDate__c),0, (BreakEndDate__c - BreakStartDate__c) * 1440)
- IF(ISNULL(BreakEndDate2__c) || ISNULL(BreakStartDate2__c),0, (BreakEndDate2__c - BreakStartDate2__c) * 1440)
- IF(ISNULL(BreakEndDate3__c) || ISNULL(BreakStartDate3__c),0, (BreakEndDate3__c - BreakStartDate3__c) * 1440)
), 60
),0)
), 2
)
)