しるてく

技術的な話をします

AngularJSでmoment.js使いたいとき

urish/angular-moment · GitHubってやつがあった。
ほかにもangular-momentjsって名前のやつがいくつかあるけど、↑のやつが一番よさそう。

こんな感じで使う。

$scope.date = new Date()
$scope.epoch = 1000000000000
<time am-time-ago="date"></time>
<time am-time-ago="epoch"></time>

数字を渡すと、エポック秒と判断して、内部でnew Date(value)してくれる。
2014/01/01 12:00:00みたいに文字列を渡したい場合は、

<time am-time-ago="'2014/01/01 12:00:00'" am-format="YYYY/MM/DD HH:mm:ss"></time>

ってやってあげると良いらしい。
am-time-agoのシングルクォーテーションを忘れずに。
am-formatに関する記述がREADMEになくて、最初使えないなーって思ってた。

他にも、

<time>{{ date | amDateFormat:'dddd, MMMM Do YYYY, h:mm:ss a'}}</time>

みたいなフィルターもあるけど、READMEに書いてあるので読めば分かる。