moment.jsを使った曜日の日本語表示について

お世話になります。

日時フィールドの「2016-08-04」という表示を、「2016年8月4日(木)」にさせたくて、

moment.jsを使い、

moment.locale("ja", {
weekdays: ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"],
weekdaysShort: ["日", "月", "火", "水", "木", "金", "土"]
});

と設定して

 function dateForMail(event) {
var record = event.record;
var startTime = record['利用開始日時']['value'];
var endTime = record['利用終了日時']['value'];
record['日時メール用']['value'] = moment(startTime).format('YYYY年MM月DD日(ddd)');
record['日時メール用_開始']['value'] = moment(startTime).format('HH:mm');
record['日時メール用_終了']['value'] = moment(endTime).format('HH:mm');
}

と書いたのですが

2016年08月04日(Thu)

と表示されて、曜日が日本語になりません。

設定などご教授しただければ幸いです。

どうぞよろしくお願いいたします。

Jun Oshimaさん

サイボウズスタートアップスの武井です。

 

ご提示のJSを私の環境に適用したら普通に日本語曜日になりました。

全JSのご提示がないので勘ですが、moment.localeを設定しているところとdateForMail関数のスコープが合っていないのでは?

武井様

ありがとうございます。

moment.localeをdateForMail関数内に入れたところ、無事日本語曜日になりました。

function dateForMail(event) {
moment.locale("ja");
var record = event.record;
var startTime = record['利用開始日時']['value'];
var endTime = record['利用終了日時']['value'];
record['日時メール用']['value'] = moment(startTime).format('YYYY年MM月DD日(ddd)');
record['日時メール用_開始']['value'] = moment(startTime).format('HH:mm');
record['日時メール用_終了']['value'] = moment(endTime).format('HH:mm');
}

また、曜日の配列を作らなくても日本語になりました。

ありがとうございました。