シリアル日付時刻で計算した数値を時間表示にする計算式
目次
シリアル値から経過時間を計算したい
例えば、タイムカードアプリを作成するとして、日付と時間の計算にシリアル値しか使えない状況があったとします。ちなみにノーコードアプリ作成のAdaloのことなんですが、出勤日時と退勤日時のシリアル値から勤務時間を計算したいとき、以下のようになります。ちなみに日時のシリアル値をデータベースに入れるときは、Adaloのデータベースに数値フィールドを用意し、そこにCurrent Timeなどの日付をフォームから登録すれば、シリアル日時が格納されます。
出勤日時とシリアル値
日付 | 2021/06/21 8:30 |
シリアル値 | 44368.35417 |
退勤日時とシリアル値
日付 | 2021/06/21 17:45 |
シリアル値 | 44368.72917 |
経過時間の計算
退勤日時のシリアル値から出勤時間のシリアル値を引きます。
44368.73958 - 44368.35417 = 0.385416667
17:00から8:30を引くと9時間15分となるわけですが、これがシリアル値だと0.385416667
になります。それは1日が24時間で9時間は割合として約38.5%になるからです。
シリアル値から時間表示に変換
0.385416667
を時間表示にしたい場合は24を掛けると何時間のことかが求めれます。
0.385416667 * 24 = 9.25時間
9:15という結果を求めたいのですが、Adaloでは
+-*/
の四則演算と予め定められた関数のみの計算しかできないため、9.25となります。