2つの日付から差分を計算するサーバスクリプト
早速サーバスクリプトを設定していきます。
事前に以下の項目を含むテーブル(記録テーブル)を作成しておいてください。
・作業開始日時(日付A)
・作業終了日時(日付B)
・作業時間(数値A) → 小数点2桁、端数処理は四捨五入
以下の手順でサーバスクリプトを設定します。
1. 上記で作成したテーブルを開く
2. メニューから管理 > テーブルの管理 > サーバスクリプト タブへ移動
3.「新規作成」ボタンを押下し、任意のタイトルを設定
4. 以下に記載したスクリプトを記載
5.「条件」で「計算式の後」を選択
6.「追加」ボタンを押下
7.「更新」ボタンを押下
<2つの日付項目から差分を出すサーバスクリプト>
function CalculateDiff(strDate,endDate) {
let diffdays = endDate - strDate;
let diffhours = Math.floor(diffdays / 60000)/60;
return diffhours;
}
model.NumA = CalculateDiff(model.DateA,model.DateB);
説明
1~5行目 2つの日付から差分を計算するファンクション
2行目 終了日時から開始日時を引いて変数diffdaysに代入
3行目 変数diffdaysを一度(切り上げで)分単位に変換して、その後時間単位にして変数diffhoursに代入
4行目 変数を戻す
6行目 編集ページ上の日付Aと日付Bをファンクションで計算した結果を数値Aに代入
では確認してみましょう。
1.新規作成ボタンで新規レコードを作成
2.作業開始日時と、作業終了日時を入力して、作成ボタンを押下
→ 作業時間に小数点2桁まで表示された差分時間が表示される
まとめ
いかがでしたか?
今回は、プリザンターの標準機能では持っていない2つの日付項目から差分を計算する方法を紹介しました。
サンプルでは時間単位で出力しましたが、上記の3行目を 「let diffhours = Math.floor(diffdays / 38400000);」にすることで、日数(切り捨て)を出力することもできます。
それほど難しくないと思いますので、一度お試しください。
弊社ではスタイル・スクリプトサンプル集、プリザンター逆引き辞典のほかにも、運用ノウハウ集の販売もございます。また、導入の支援や、スクリプト開発なども支援いたします。
ご相談の内容によっては有料となる場合がございますが、まずは気軽にご相談ください。
☆☆☆
ブログ内容への質問や追加説明をご希望の方は【 問い合わせフォーム 】からお気軽にお問い合わせください
☆☆☆
プリザンターでの日付の計算
こんにちは、CCS田中です。
みなさんご存知のように、プリザンターでは日付項目が使えるようになっています。また、プリザンターでは「問合せ管理」や「作業報告書」などにも多く利用されております。その際に、対応開始日時と対応終了日時を入力されたりしていますでしょうか?
そういった場合に、対応開始から終了までどのくらいの時間がかかったかなど、後から対応状況を分析する場合に必要になってくるかと思います。しかし、プリザンターでは単純に2つの日付項目から差分を計算することができません。
そこで!、今回はサーバスクリプトを使って、2つの日付から差分を出す方法を説明します。
サーバスクリプトを触ったことがない人も、難しい内容ではありませんので、ぜひサンプルを参考に作成してみてください。