tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:Apexで日付の曜日部分を取得する方法

Apexで日付の曜日部分を取得したいときは、一度日時型に変換して「.format('E')」の処理で取得できます。

f:id:tyoshikawa1106:20190907164758p:plain

// 月曜日
Datetime day1 = Datetime.newInstance(2019, 9, 9);
System.debug(day1.format('E'));

// 火曜日
Datetime day2 = Datetime.newInstance(2019, 9, 10);
System.debug(day2.format('E'));

// 水曜日
Datetime day3 = Datetime.newInstance(2019, 9, 11);
System.debug(day3.format('E'));

// 木曜日
Datetime day4 = Datetime.newInstance(2019, 9, 12);
System.debug(day4.format('E'));

// 金曜日
Datetime day5 = Datetime.newInstance(2019, 9, 13);
System.debug(day5.format('E'));

// 土曜日
Datetime day6 = Datetime.newInstance(2019, 9, 14);
System.debug(day6.format('E'));

// 日曜日
Datetime day7 = Datetime.newInstance(2019, 9, 15);
System.debug(day7.format('E'));

'月'、'火'ではなく'Mon'や'Thu'という形で取得できるのでそこから日本語表記には別途変換処理が必要になります。
f:id:tyoshikawa1106:20190907164929p:plain


変換用の共通クラスを用意しておくと使い回せると思います。