Posted at

2つの日付データの日数を計算する方法


はじめに

2つの日付データから日数を算出する方法を考えてみました。

例)2019-08-252019-09-10の2つの日付データの日数を算出する。

といった感じです。


環境


  • OS: Windows10

  • Java:1.8.0.201

  • ASTERIA Warp : 1906


フロー

Mapper関数だけです。

DateCalc1.png

※入力値がDateTime型ではないときはStrToDateStd関数で予め変換しておきます。


  • 2つの日付データ(DateTime型)をそのままSubtract関数に差し込みます
    DateCalc2.png

Subtract関数で暗黙的にミリ秒数に変換されて差分が出力されるようです。


  • その結果をDivide関数を使って1日のミリ秒数(=86400000)で除算します
    DateCalc3.png

丸め処理は「スケール」プロパティで0で指定してますが、Round関数を使ってもよいかと思います。


終わりに

DateTime型のデータをそのままSubtract関数で減算するので一瞬?とも思いますが、ミリ秒数で自動的に持ち直してから演算してくれるようです。

Divide関数で除算する値はミリ秒数なので時間で算出したいときは3600000(1時間=60分=3600秒=3600,000ミリ秒)で割ればよいですね。

以上です。