ドロップダウンの年、月のフィールドから、計算フィールドで日付の項目を作成

ドロップダウンで、年、月 を入力させて、
その「年-月-01」の日付フィールドを自動計算で作成したいのですが、
計算フィールドの計算式では、文字列→日付型の変換はできないでしょうか?
①文字列の計算フィールドで、「年&“-”&月&“-”&“01”」の式を設定し、yyyy-mm-dd の文字列を作り、
②計算フィールドの「日付」で、①のフィールドを設定していますが、CONVERTエラーが表示されます。

kintoneの標準機能では、文字列を日付に変換できません。
標準機能に「日付型」というデータ型は存在せず、日付、時刻、日時は1970年1月1日からの経過秒数(つまり数値)が内部的なデータとなります。

なお、計算フィールドの計算式に文字列型のデータ(たとえば"1")を指定すると文字列型から数値型に変換することもできますが、同じ考え方で年と月を数値型に変換しても、月の日数が28〜31日で変動すること、うるう年の処理が必要なことなどから、複雑な計算式となることが予想されます。

また、レコード追加画面やレコード編集画面を表示したとき、レコード一覧画面でインライン編集を開始したとき、それらの画面で年や月など特定のフィールドを編集したときなどのイベントで以下のコードを実行するよう組むことで、日付フィールドに月初日をセットすることも可能なようです。

// 年のフィールド(FIELD_YEAR)と
// 月のフィールド(FIELD_MONTH)の値を取得
const year = event.record[FIELD_YEAR].value;
const month = event.record[FIELD_MONTH].value;

// 年と月が入力済みであれば、
// 日付フィールド(FIELD_FIRSTDAY)に月初日をセット
if (year && month) {
  event.record[FIELD_FIRSTDAY].value = `${year}-${month}-1`;
} else {
  event.record[FIELD_FIRSTDAY].value = null;
}

// イベントオブジェクトをreturn
return event;
「いいね!」 1

ありがとうございました。

「いいね!」 1

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