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) {
vardatetime;
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");
returnevent;
}
);
})();
※本サンプルでは、ルックアップ機能を用いて別アプリからタイムゾーン名(Asia/Tokyoなど)を取得しています。