気ままにInbound研究会

特定の日から何日後/何日前を計算できるように | HubSpotファンサイト | 気ままにINBOUND研究所

作成者: 熱海のジョー|2025/02/02 5:25:53

最近リリースされた新機能「計算プロパティーの追加機能」を用いる事で日付を用いた計算が出来るようになりました。これまでは結構力業でやるしか方法が無かったのですがスマートに計算が出来るようになりました。

新機能:計算プロパティーの追加機能

この新機能では下記の様な機能がカバーされています。

  1. euler:ネイピア数を返します。
  2. string_length:指定された文字列の長さを返します。
  3. add_time:指定された時間を基準時間に加算します(指定された単位で制御)。
  4. subtract_time:指定された時間を基準時間から減算します(指定された単位で制御)。

正直1と2は使い道が私もピンと来ていないのですが、3と4は非常に使いやすいですね。

 

手順

フィールドタイプを「計算」、計算プロパティータイプは「カスタム式」で始めていきます。

日付の加算、もしくは減算をおこなうには関数を追加していきます。

  • 加算:add_time
  • 減算:subtract_time

この記事では加算を例に進めてみます。

  • base:対象となる日時/日付プロパティを選択
  • timeToAdd:もし1年追加する場合は”1”
  • unit:単位は"year", "month", "day", "hour"等

実際に記入をして計算を実行している例は下記の通りです。

注意:出力タイプは日付ではなく日時を選択してください!

今後改善されていくと思うのですが、現状、計算プロパティで出力タイプを日付を選択するとUS時間?で表示されてしまうようです。開発チームに確認を上げておりますので将来的には改善されると思うのですが、現状は上手く表示がされません。当面の間は日時タイプを利用するようにしてください

 

検証結果(おまけ)

専用の日時計算の機能なので当たり前ですが下記の様に月の日数などは気にしなくて大丈夫です。

1か月後を指定した場合

30日後を指定した場合

※日数指定している場合は日付がズレていますね

重ね掛けしてみた例

 

まとめ

この機能が登場するまで、例えば1か月後を計算するには30日をミリ秒に直して加算するなど、結構マニアックなアプローチが必要でした。上記の通りかなりスマートに計算ができるので、例えば購入から一年後を更新日として計算するときなど、使い道が多そうです。