さらばださくらば

週に1回、Pocketした記事をシェアします。

GASのMoment.jsを使って現在の日付&時刻を取得する

共通のまえがき

  • 自分向けのメモなので、コードを記載して何か起きても責任は取りませんm(. .)m

GASのMoment.jsを使って現在の日付&時刻を取得する

GASの勉強をするにあたって、moment.jsを試してみる。

こういうコードを書くと

function myFunction() {
  var x = Moment.moment();//現在の日付&時刻を取得
  var x = new Date(); //新しいDateオブジェクトの生成
  Logger.log(x); //実行結果をログに残す
}

こういうふうに現時点の日付&時刻を取得することができる。 f:id:kaito87:20170509232633p:plain

以上、終わり、とすることも出来るんだけど、自分の理解を深めるために覚え書きしておく

moment.jsとは

  • JSで日付を扱う時に便利なライブラリ。GASにもある。
  • デフォルトで備わっている機能ではない。
  • Moment.jsを事前に追加しておく必要がある
  • 詳細はこれに詳しい
  • GASではMoment.moment()とすると、現時点の日付と時刻を取得できる。

Dateオブジェクトについて

  • new Dateについて
  • DateとはGASの組み込みオブジェクト
  • Dateをつかうと、年月や日付、曜日、時刻をJSで取り扱うことができる。
  • new Dateは、新しくDateオブジェクトを生成するぜ、という意味。
  • 正直、DateオブジェクトとMoment.jsの役割の違いがよくわかっていないが、「Moment.jsはDateオブジェクトを補完するものである」、という仮置きですすめる。

日付でも時刻でも簡単に取り出せる

日付だけ抽出し、"2017年05月08日"と表示したい場合はこう書く

function myFunction() {
  var x = Moment.moment();
  Logger.log(x.format('YYYY年MM月DD日'));
}

時刻だけを抽出し、"12:34"と表示したい場合はこう書く

function myFunction() {
  var x = Moment.moment();
  Logger.log(x.format('HH:mm'));
}
  • ここでnew Dateはいらない(書くとエラーになる)。
  • フォーマットが指定されているから、new Dateを書く必要が無いのだと思う。