近頃のタイムスタンプ表示は「20時間前」とか「11日前」なんて表示するのをよく見かけますよね。
JavaScriptでこれを実現するには moment.js というライブラリを使うと簡単です。
ブラウザ、Node.js 双方用意されており、タイムゾーンに対応したモジュールも別途用意されています。
ここではタイムゾーン対応版を使います。
インストール
Node.js
npm install moment-timezone --save
Node.js
var moment = require('moment-timezone');
let date = moment('Sun, 24 Jun 2018 01:20:26 GMT');
date.locale('ja');
date.tz('Asia/Tokyo');
date.fromNow(); // システム日付に対する経過時間によって "20時間前" とか "11日前"
利用例
チームの出欠管理サービス「BitScheduler」では Firebase の CloudFunctions で利用しており、メンバーの投稿タイムスタンプの表示に使っています。
参照
BitSchedulerとは
チーム、グループの専用ページが用意される出欠管理サービスです。Googleカレンダーと連携することで簡単にチームの出欠を管理、運用できることを目指しています。
現在β版をリリースしています。ぜひ使ってみてください!