APIリファレンスやkintoneの画面を見ている限り日時フィールドでは秒を扱うことができない(内部的には00秒になってしまう)ものと認識しております。
開始時間と終了時間のフィールドから差分を計算して実行時間(秒)を算出したいと考えておりますが何かいい方法はありますでしょうか。
APIリファレンスやkintoneの画面を見ている限り日時フィールドでは秒を扱うことができない(内部的には00秒になってしまう)ものと認識しております。
開始時間と終了時間のフィールドから差分を計算して実行時間(秒)を算出したいと考えておりますが何かいい方法はありますでしょうか。
naoki_yokozawa さん
こんにちは。ひよこです。
おっしゃる通り、「開始時刻」「終了時刻」フィールドは日時フィールドや API では、秒を扱うことはできません。
秒を計算する方法としては、パッと思いついたのは以下の2つです。
①「開始時刻」「終了時刻」フィールドはそれぞれ「日時」フィールドを使う
「実行時間」(「計算」フィールド)に「終了時刻-開始時刻」の計算式を入れて計算する(計算結果は秒になります)
※60秒以下の精度は出せない
②「文字列(1行)」フィールドの「開始時刻」「終了時刻」フィールドに、秒を含む日時を文字列として入れる(yyyy-MM-dd HH:mm:ss)
Moment.js などを使って、文字列→Date に変換し、差分を計算して、「実行時間」(「数値」フィールド)に入れる
※ 文字列フィールドなので、画面から入力するときは、kintone のような日時を入れるUIではなくなります。
API で日時を入れることを想定してます。
ひよこ さん
回答ありがとうございます。
60秒以下の秒も扱いたいのでやはり「②」の方法くらいしかないですよね…
今回のアプリに関しては、kintoneはAPI経由で外部システムから取り込んだ
データの参照(グラフなど含む)での利用の想定のため、時間については
文字列で持たせる方針で進めたいと思います。
今後、日時フィールドで秒まで持てるように改善されることを期待したいと思います。。。