AngularJSのdateフィルターで日本語の曜日を表示する方法

AngularJSのdateフィルターで日本語の曜日を表示する方法

日本語の曜日を表示する

AngularJSで曜日を表示させるには日付にdateフィルターを使用して{{today|date:’EEE’}}で表示させることができるがこのままだとMon,Tueのように英語で表示されてしまう。

曜日を日本語の月、火などで表示するには以下の2つの方法がある。

 ja-JPのi18nを読み込む

ja-JPのi18nのJSファイルを読み込むことでEEEを日本の曜日で表示できるようになる。(ちなみに水曜日のように表示したい場合はEEEE)
参考リンク:i18n and l10n

<script src="http://cdnjs.cloudflare.com/ajax/libs/angular-i18n/1.2.15/angular-locale_ja-jp.js"></script>

曜日の配列を用意して表示

日付の曜日を表示させるためだけに別途JSファイルを読み込みたくない場合はgetDay()と日から土を入れた配列を用意すれば曜日を表示できる。

angular.module('myApp', []).controller('Ctrl', ['$scope', function ($scope) {
  var now = new Date();
  var day = now.getDay();
  var week = ['日','月','火','水','木','金','土'];
  $scope.today = now;
  $scope.day = week[day];
}]);

AngularJSのdateフィルターで日本語の曜日を表示するサンプル