コンテンツにスキップ
「プリザンター入門」発売中!

編集画面を登録・更新する際に誕生日から年齢を自動計算したい

回答

サーバスクリプトで実現できます。


概要

日付項目へ誕生日を入力しておき、データの登録・更新時点の年齢を計算します。

以下は、「日付A」項目に入力された誕生日をもとに計算した年齢を「数値A」項目へ入力するサンプルです。

操作方法

  1. 「記録テーブル」を作成してください。
  2. 「テーブルの管理」画面の「エディタ」タブを開き、「日付A」と「数値A」を有効化してください。
  3. 以下のサーバスクリプトを「新規作成」してください。
    条件は「計算式の後」を選択してください。

    「条件」は「計算式の後」
    function ConvertDateToNum(date) {
        return date.getFullYear() * 10000
            + (date.getMonth() + 1) * 100
            + date.getDate();
    }
    
    function CalculateAge(birthdayVal) {
        const today = ConvertDateToNum(new Date());
        const birth = ConvertDateToNum(new Date(birthdayVal));
        return Math.floor((today - birth) / 10000);
    }
    
    model.NumA = utilities.InRange(model.DateA)
        ? CalculateAge(model.DateA)
        : 0;
    

関連情報