経過日時の表示

お世話になっております。

現在構築しているシステムにて、作成日時から現在の日時を引き算し、経過日数をレコードに表示させたいと考えています。
計算フィールドではできないようですが、良い方法はありますでしょうか。

ご存じのかたがいらっしゃいましたらお教えいただけますと幸いです。

mikanさん

cstapの落合です。

JavaScriptのカスタマイズでできるかと思います。

(new Date(new Date() - new Date(kintone.app.record.get().record['作成日時'].value))).getUTCDate() - 1

詳細画面でしたらこの一行で経過日数が算出できます。
kintoneのevent内で出したい場合は、kintone.app.record.get()を使わずに、eventのプロパティにセットされているレコード情報を使うと良いでしょう。

以上、参考になりますでしょうか?

落合様

早速のご回答ありがとうございます。
こちらについて理解できなかったのですが、追加で情報いただけますと幸いです。
”kintoneのevent内で出したい場合は、kintone.app.record.get()を使わずに、eventのプロパティにセットされているレコード情報を使うと良いでしょう。”

お手数おかけいたしますがよろしくお願いいたします。

mikanさん

cstapの落合です。

kintoneのeventというのは、レコード詳細画面が表示された時のイベントレコード一覧画面の表示後イベント があります。

kintoneのeventでは、eventオブジェクトのプロパティとしてレコード情報が格納されています。

以下のJavaScriptをアップロードし、詳細画面を見てみてください。

(function() {
  'use strict';

  kintone.events.on('app.record.detail.show', function(event) {
    var diff = (new Date(new Date() - new Date(event.record['作成日時'].value))).getUTCDate() - 1;
    alert('作成日時から' + diff + '日経過しています');
  });
})();

先ほどの例と違う部分は、

kintone.app.record.get().record['作成日時'].value

event.record['作成日時'].value

の部分で、作成日時の値の取得方法が異なります。

どちらでも作成日時を取得できますが、kintoneのevent内では、event.recordを利用し、自作のボタンクリックイベント等の場合は、kintone.app.record.get()を利用すると良いでしょう。

以上、参考になりますでしょうか?

落合様

ありがとうございます。
理解できました!

参考にさせていただきます。

どうぞよろしくお願いいたします。

mikanさん

cstapの落合です。
わかりにくい説明をしてしまい申し訳ありませんでしたm(__)m
また何かありましたら、ご質問ください!