LoginSignup
17
15

More than 5 years have passed since last update.

moment.jsを使って

Last updated at Posted at 2014-09-30

プログラムしてると日付の扱いって超面倒くさい
特にJavaScriptのDateオブジェクトは一瞬便利に見えるものの、その中身は発狂しそうなぐらい貧弱
そんなときに見つけたのがmoment.js
node.jsではnpmでインストールできるし、ブラウザでもCDN使えば script タグ1行書くだけで使えるという優れもの

var moment = require('moment');

/**
*   よくある文字列形式から
*/
var d0 = '2014/09/30 12:34';
var m0 = moment(d0, 'YYYY/MM/DD HH:mm');

//  toDate()でJavaScriptのDate()になる
console.log(m0.toDate());

//  別のフォーマットで書き出すこともできる
//  ここは日付部分のカット
console.log(m0.format('HH:mm'));

//  UNIXタイムスタンプでも
console.log(m0.format('X'));

//  UNIXタイムスタンプ取るならこっちのほうがいいかも
console.log(m0.unix());

//  7日後
m0.add(7, 'days');
console.log(m0.toDate());

//  その7日後の月の末日
m0.endOf('month');
console.log(m0.toDate());

//  当然初日もある
m0.startOf('month');
console.log(m0.toDate());

//  今からだいたい
console.log(m0.fromNow());

//  ある地点(例は現在)から・・・↑とほぼ同じ意味
console.log(m0.from(new Date()));

//  永遠の17歳
console.log(m0.from(new Date(1964,8,25)));

などなど「こーいうのないかな」と思ったときにドキュメントみるとたいていある、というぐらい日付の扱いが一気に楽になるメソッドがこれでもかと入っているのでおすすめです。

17
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
15