ゼロワンで日付の差を求める方法【応用編】
こんにちは!ゼロワンエヴァンジェリストの田中です!
今回は実際にコミュニティでも質問を頂いていた、日付の差を求める方法について解説していきます!
一見難しそうに見えますが、理解すると意外と簡単なので、ぜひやってみてください!では始めていきましょう!🔥
今回登場する関数は、diff関数・floor関数・割り算(/)とconcat関数(←concatは本筋とは関係ないですが)です。
準備として、開始時間(date型)と終了時刻(date型)を持つテーブルとレコードを作成しておいてください。
では順を追って解説していきます。
1.日付の差をdiff関数で求める
まず最初にdiff関数を用いて、差を求めます。
の順番で設定してください。
イメージとしては(1つ目)ー(2つ目)になります。
こちらの計算結果がmm秒にて算出されます。
例えば120時間だった場合、432,000,000mm秒で算出されます。
しかし、誰がmm秒単位で見たいねん!て話ですよね。
2.割り算で求められた差を時間に換算する
先ほど求められたmm秒単位の数値を時間単位に直す為に、割り算を使用します。mm秒→時間なので、3,600,000で割っていきます。
※この時に差分を日数で算出したいという事であれば、86,400,000で割るとOKです!
こちらでmm秒単位から時間単位に直されました。
しかし、現状だと小数点以下がまだ表示されています。
例えば120時間なら、120.000,000のように小数点以下も表示されている状態です。これまた、誰が小数点以下誰が必要やねん!状態ですね。
3.floor関数で換算された数値の小数点を切り捨てる
まあ、小数点以下も必要な方もいるかもしれませんが、今回は切り捨ててしまいましょう。その為にfloor関数を使用します。
以下のように設定してみてください。
ここで少数点以下が切り捨てられます。
"120.000,000"が"120"と返されます。気持ちがいいですね。
4.〇〇時間と表示する為にconcat関数を使う
最後におそらく数値だけで表示しない場合が多いと思いますので、「〇〇時間」とする為に、concat関数を用います。以下のように設定してください。
こちらでやっと「120時間」と表示されるようになります。
いかがだったでしょうか?
このように関数を組み合わせてみると、結構いろんな事が出来ますので、ぜひ色々試してみてください!
この記事にスキを押してくださると今後のモチベーションにもなりますので、押してくれるとありがたいです!😌
最後まで読んでくださったありがとうございました!✨
本気でゼロワンを習得したい方は、ぜひゼンリョクの無料相談を受けてみてください!🔥
また、ゼロワンコミュニティのモクモク会で質問対応しています。
コミュニティ参加はこちらから💪
この記事が気に入ったらサポートをしてみませんか?