新規投稿
フォローする

Moment Timezoneを使って簡単時差管理

JavaScriptで日時を簡単に扱えるツールとしてMoment.jsが知られていますが、合わせてMoment Timezoneを使うとタイムゾーンの操作も簡単にできます。 どちらもCybozu CDNにてサポートされているので手軽に利用できます。

サンプル

入力した2つの場所を比較して、一方の現地日時から他方の現地日時を自動計算します。

デモ

 

コード

(function() {
  "use strict";
  kintone.events.on([
    'app.record.create.show','app.record.edit.show'
  ], function(event){
    event.record.日時_支社2.disabled = true;
    return event;
  });
  kintone.events.on([
    'app.record.create.change.場所_支社1','app.record.edit.change.場所_支社1',
    'app.record.create.change.日時_支社1','app.record.edit.change.日時_支社1',
    'app.record.create.change.場所_支社2','app.record.edit.change.場所_支社2'
  ], function(event){
    var datetime;
    if(!event.record.場所_支社1.value || !event.record.日時_支社1.value || !event.record.場所_支社2.value) return;
    // 日時_支社1の値を支社1のタイムゾーンでの日時であると認識した上で取得
    datetime = moment.tz(moment(event.record.日時_支社1.value).format('YYYY-MM-DDTHH:mm:ss'), event.record.場所_支社1.value);
    // 取得した日時を支社2のタイムゾーンで表示
    event.record.日時_支社2.value = datetime.tz(event.record.場所_支社2.value).format('YYYY-MM-DDTHH:mm:ss');
    return event;
  });
})();

※本サンプルでは、ルックアップ機能を用いて別アプリからタイムゾーン名(Asia/Tokyoなど)を取得しています。

1

0件のコメント

サインインしてコメントを残してください。