カスタマイズ

時刻の差を計算する

概要

開始時刻と終了時刻の間の時間差を計算します。

結果は直接フィールドに入れたり、他のアクションから参照したりできます。

使い方

「開始時刻」と「終了時刻」を指定します。式を使用して時刻フィールドや日時フィールドの値を指定することもできます。

端数は切り捨てられます。

開始、終了ともに日時の場合、日付込みで時間差を計算します。例えば、2019-03-11 12:00 ~ 2019-03-12 14:00 は2時間ではなく26時間になります。

開始、終了ともに日付なしの時刻の場合、同じ日の時刻とみなします。開始時刻 23:00、終了時刻 01:00 の場合、マイナス22時間になります。プラス2時間にはなりません。

開始、終了のうち、片方が日付付きでもう片方が日付なしの場合、日付なしのほうは日付ありと同じ日とみなします。この時、kintone にログインしているユーザーのタイムゾーンに基づいて「同じ日」を判定します。

開始より終了のほうが過去の場合は、結果はマイナスの値になります。

計算結果を別のフィールドに入れたい場合、「セット先フィールド(省略可)」パラメーターにそのフィールドを選択します。

計算結果をすぐフィールドに入れるのではなく、他のアクションで使いたい場合は式を利用します。

「時刻の差を計算する」をセットしたアクションを実行すると、アクションの結果としてその数値が内部に保存されます。単位の名前は保存されません。保存された数値は、数式を使用して、「=$1」などで取得できます。

設定するパラメーター

「開始時刻」「終了時刻」「単位」「セット先フィールド」を設定します。

開始時刻

開始時刻を指定します。式を使用して時刻フィールドや日時フィールドの値を指定することもできます。

時刻フィールドや日時フィールドの値を参照したい場合

=時刻_2

のように、「=」をつけてフィールドコードで参照してください。

現在の時刻を指定したい場合は以下のようにします。

=now()

終了時刻

終了時刻を指定します。

開始時刻と同様、式を用いて、時刻フィールドや日時フィールドの値を参照したり、現在の日時を指定することが可能です。

単位

時間(hour)単位で計算するか、分(minute)単位で計算するかを選択します。

秒単位はできません。

セット先フィールド(省略可)

計算結果を他のフィールドにセットする場合に指定します。直接フィールドにはセットせず、計算結果を別のアクションで使用したい場合は、省略できます。

セットされるのは指定単位での数値のみです。単位名はつきません。

テーブル内のフィールドを指定した場合、特別な場合(*1)を除き、テーブル内のすべての行が処理されます。

(*1) 条件側で、「フィールドの値を編集して値が変わった時」のように、テーブル行を限定するように条件が入っている場合は、対象の行だけ処理されます。

選択可能なフィールドタイプは以下の通りです。

  • 文字列(1行)
  • 数値
  • 文字列(複数行)
  • リッチエディター

krewSheet 対応状況

対応しています。

ただし、「セット先フィールド(省略可)」に以下の制限があります。

  • ルックアップでコピーされるフィールドにはセットできません。
  • 以下のフィールドは「レコードを保存する直前(削除時は除く)」のようにレコード保存のタイミングのみでセット可能です。やや専門的になりますが、より詳しく知りたい方は krewSheet のドキュメント も参考にしてください。
    • krewSheet の表示列に含まれていないフィールド
    • krewSheet で読み取り専用に設定されているフィールド
    • リッチエディターフィールド