# 年齢計算 テーブル

**URL:** https://community.cybozu.dev/t/topic/8519
**Category:** kintone 開発相談
**Created:** [2023 年 12 月 26 日午前 10:25 UTC](https://community.cybozu.dev/t/topic/8519 "2023-12-26T10:25:17Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![noka](https://avatars.discourse-cdn.com/v4/letter/n/ecae2f/32.png) [@noka](https://community.cybozu.dev/u/noka)
#### Post date: [2023 年 12 月 26 日午前 10:25 UTC](https://community.cybozu.dev/t/topic/8519/1 "2023-12-26T10:25:17Z")

</div>

お世話になります。

添付画像のような画面で、日付を入力したら同じ行の文字列フィールドに年齢が表示されるようにしたいです。  
テーブル無しではうまくいきますが、  
テーブルにすると、年齢が表示されず困っています。  
 ![kinhelp_nenrei](https://us1.discourse-cdn.com/flex015/uploads/cybozu/original/1X/117540d31ba7f3f2cb00e2d1f6875356ff39289d.png)

いくつかの年齢計算方法の記事を見たのですが、用途柄できるだけ正確に取得したいと思い、こちらの記事を参考にしました。  
[第 15 回 kintone JavaScript カスタマイズのプログラム実例を学ぼう③（経過年数を表示する） - cybozu developer network](https://cybozu.dev/ja/kintone/miscellaneous/hello-js/display-years-passed/)

現状このようになっています。。。

```javascript
(() => {
  'use strict';

  // テーブルの情報を取得
  const familyTable = kintone.app.record.get().record['FamilyTable'].value;

  // 各行の情報を出力
  familyTable.forEach((row, index) => {
    const birthDayValue = row.value['BirthDay'].value;
    console.log(`Row ${index + 1} - BirthDay: ${birthDayValue}`);

    // 年齢を計算して表示する
    const currentDate = luxon.DateTime.local().startOf('day');
    const birthDate = luxon.DateTime.fromISO(birthDayValue).startOf('day');
    const ageDuration = currentDate.diff(birthDate, ['years', 'months', 'days']);
    const ageElement = kintone.app.record.getSpaceElement('Age');

    const $emLabel = $('<label>');
    const $emDiv = $('<span>');

    $(ageElement).append($emDiv);
    $(ageElement).css({
      width: $(ageElement).innerWidth() + 50 + 'px',
    });

    $emDiv.append($emLabel);
    $emLabel.html('<br>');
    $emLabel.append(
      ageDuration.years + '年' + ageDuration.months + 'ヶ月'
    );

    $emDiv.css({
      color: 'green',
    });
  });
})();

```

不足の情報などがあれば教えて頂ければと思います。  
宜しくお願いいたします。

---

<div class="post-metadata">

### Author: ![noka](https://avatars.discourse-cdn.com/v4/letter/n/ecae2f/32.png) [@noka](https://community.cybozu.dev/u/noka)
#### Post date: [2023 年 12 月 28 日午前 12:55 UTC](https://community.cybozu.dev/t/topic/8519/2 "2023-12-28T00:55:38Z")

</div>

ChatGPTで解決しました。

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/flex015/uploads/cybozu/original/1X/d5c841c3c5a6cb66eed514001c1b45147c9e1f4f.png) [@system](https://community.cybozu.dev/u/system)
#### Post date: [2023 年 12 月 31 日午前 12:56 UTC](https://community.cybozu.dev/t/topic/8519/3 "2023-12-31T00:56:11Z")

</div>

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。
