お世話になっております。
標題の件について、
時刻フィールドAと時刻フィールドBがあり、
文字列フィールドに自動計算で【時刻フィールドA-時刻フィールドB】と式を設定しています。
時刻フィールドAが13:00
時刻フィールドBが14:30
の場合、文字列自動計算フィールドが-5400と表示されるのですが、
これを1:30と表示させたい場合、どのような式を設定すれば宜しいでしょうか。
下記URLのヘルプを見てもわかりませんでした。
https://help.cybozu.com/ja/k/user/autocalc_format.html#anchor_autocalc_time
初歩的な質問で申し訳ございませんが宜しくお願い致します。
Nao さん
文字列項目で、時刻計算すると結構面倒ですね。
試したところ、式は、DATE_FORMAT を使って設定できました。
DATE_FORMAT(時刻フィールドB - 時刻フィールドA + 140400, “H:mm”, “Asia/Tokyo”)
(時刻フィールドB - 時刻フィールドA) の計算結果が UTC になりますので、それを日本時間に変換するため、39時間を足しています。
時差は、+9時間ですが、計算結果がマイナスにならないように、2日分シフトします。
DATE_FORMATで、マイナス値はエラーになるようです。
140400 = 60 * 60 * (48 - 9)
なお、文字項目ではなく、計算項目であれば下記設定で済みます。
式は、「時刻フィールドB - 時刻フィールドA」
表示フォーマットに「時刻(例:2:03)」指定