まずは以前にもご紹介したOutputTextの日付のフォーマット化を使って、
想定通りの日付を表示させます。
public class DateTimeController {
public Date dayOfWeek { get; set; }
public DateTimeController(){
dayOfWeek = system.today();
}
}
<apex:page controller="DateTimeController">
<apex:pageMessages id="message"/>
<apex:form >
<apex:pageBlock >
<apex:outputText value="{0,date,yyyy/MM/dd}">
<apex:param value="{!dayOfWeek}"/>
</apex:outputText>
</apex:pageBlock>
</apex:form>
</apex:page>
では次に
<apex:outputText value="{0,date,yyyy/MM/dd E}">
<apex:param value="{!dayOfWeek}"/>
</apex:outputText>
フォーマット部分にEを加えてみます。
すると短い形式の曜日がでましたが、英語表記ですね。。。
ここでjavaのフォーマットを見直してみると、引数にロケールを渡してあげると
良いみたいなんですが。
salesforceだとしっかり怒られます。

ちなみに試してみたのは下記の形式です。
<apex:outputText value="{0,date,yyyy/MM/dd E,Locale}">
<apex:outputText value="{0,date,yyyy/MM/dd E,Locale.Japan}">
やっぱりApex側で番号取得して曜日に変換するやり方しかないんだろうか。。。
今回は答えが見つからずでした。
引き続き模索してみようと思います。
profile
生まれも育ちも大阪の浪速中の浪速っ子が30才未経験からITエンジニアとして生きるブログもやってます。
よかったらみてください