⏲️

日時の計算

対象環境

Webブラウザ;ネイティブアプリ(iOS,Android)

対象プラン

Freeプラン以上

サンプルアプリ

クローン用アプリ


日時のデータ形式

Clickでは、日時データを大きく2種類のデータ形式で扱うことができます。
・日時形式:
年月日時分で表記されるデータ形式です。表示設定で年月日のみにしたり、年のみにしたり、時間のみにしたり、相対表示にしたり、曜日の表示にしたりなどもできます。
日時の前後を比較することができます。
・UNIXTIME形式:
「1970年1月1日 0時0分0秒(UTC)」から、今までに経った“日数”です。
例えば、2025年7月7日はUNIXTIMEで20276日です。
日時の前後を比較したり、日時の足し引きを計算することができます。(あと何日、など)
*通常のUNIXTIMEは、”日数”ではなく”秒数”ですが、Clickでは”日数”で表記されます。

日時の計算処理

日時の足し引きの計算を行う場合、日時のデータ形式をUNIXTIME形式に変換する必要があります。

日時のUNIXTIME形式への変換

・current time、start of today 等をUNIXTIMEにする場合
①インプットエレメントを数値タイプにする。
②初期値を”変数を追加”から設定する。
③カスタム関数を選択する。
④”計算式の挿入”をクリックする。
⑤計算式の入力で”変数を追加”から選択する。
⑥日時を選択する。
⑦current time(または、start of today等)を選択する。
.
(プレビュー)
① 日時形式で表示した現在日時
② UNIXTIMEで表示した現在日時
*現在日時は日本時間であるが、UNIXTIMEはUTC(協定世界時)になっているので注意。
・日付インプットやデータベースの日付タイプをUNIXTIMEにする場合
①データの元となる日付インプット。
②unixtimeを表示するためのインプットエレメント(数値タイプ、カスタム関数を選択)。
③計算式の挿入をクリックする。
④計算式の入力で”変数を追加”から選択する。
⑤FormInputsを選択する。
⑥①の日付入力エレメントを選択する。
⑦上記⑤⑥の代わりにデータベースから日付の項目を選択することもできる。
(プレビュー)
① 日付インプットに入力された日付
② ①をunixtimeに変換した値

経過時間の求め方(時間の引き算)

① 開始日時と終了日時をそれぞれUNIXTIME($UT)に変換し、引き算で経過時間を求めます。
* ここではUNIXTIMEの単位は「日」です。
*unixtimeはUTCで表示されますが、この場合は経過時間なのでJSTへの補正は不要です。
② 以下の方法で「日・時・分・秒」に分解します:
”日”の求め方: $DAY = INT($UT)
”時”の求め方: $HOUR = INT(($UT - $DAY) * 24)
”分”の求め方: $MIN = INT((($UT - $DAY) * 24 - $HOUR) * 60)
”秒”の求め方: $SEC = INT((((($UT - $DAY) * 24 - $HOUR) * 60 - $MIN) * 60))
*INT( ) は、整数値を求める関数です。
*ここで求めた日時は、日時データではなく、それぞれ日時分秒の個別の数値データとなります。

ある時間経過後の日時の求め方(時間の足し算)

unixtime形式の場合は時間の足し算ができます。ただし、unixtime形式から日時形式への変換ができるのはデータベースへの登録(作成または更新)のときのみになります。
①数値インプットにカスタム関数を設定して、元の日時をunixtime(単位”日”)に変換して、足したい時間(単位”日”)を加算します。
②加算した日時を保存するデータベースの項目(日時形式)を準備したら、データベースの更新の設定での、日時データの元を①のインプットに指定します。
③データベースへの書き込みの際に、unixtimeから日時データへ変換されます。

カスタム関数内では、日時は自動的にUNIXTIMEで扱われている

これまで、日時をいったんカスタム関数を用いてUNIXTIMEに変換してから計算する例を紹介しました。実は、カスタム関数内では日時が自動的にUNIXTIMEとして扱われているので、直接日時を入力しても計算が可能です。
以下は、時差を表示させたい場合です。
1.日付入力インプットを設置する(初期値:current time、フォーマット:日付&時刻入力)
2.時差表示用のテキストエレメントを設置する。
3.テキストエレメントの初期値を”カスタム関数”として、中身に”日付入力エレメント”を参照して、時差分をプラスまたはマイナスする。
計算処理の単位は”日”なので、1時間は1÷24で計算する。
4.カスタム関数の表示形式で日付フォーマットを選択する。
 
最終更新日:2025/12/23