Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

はじめに

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ミリ秒)で割ればよいですね。

以上です。

asteria
データ連携ソフトのASTERIA Warp、コンテンツ管理システムのHandbook、モバイルアプリ作成サービスPlatio、AI/IoTのエッジウェアGravioなどを開発しています
https://asteria.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away