株式会社COTSUBU
kintone

kintoneの日付を和暦・曜日で表示する方法|計算式の限界とプラグイン

宇田川 将也|8分
kintone日付和暦営業日プラグイン

kintoneの日付を「令和8年9月20日」や「9月20日(日)」と表示したい場合、標準の計算フィールドでは実現できません。DATE_FORMAT 関数に元号と曜日の書式がないためです。JavaScriptを書くか、無料プラグインで日付フィールドから別のフィールドへ自動で入れます。

標準の計算式でどこまでできるか

kintoneの計算フィールドは、日付を扱えます。できることとできないことは、はっきり分かれます。

やりたいこと 標準の計算式
「2026年09月20日」のような西暦の文字列 できる(DATE_FORMAT)
「2026-09」のような年月 できる(DATE_FORMAT)
2つの日付の差(日数) できる(引き算)
n日後の日付 できる(足し算)
「令和8年9月20日」(和暦) できない
「日」「日曜日」(曜日) できない
土日・祝日を除いた営業日の計算 できない
今日からの残日数(開くたびに変わる) できない

できること1:西暦の書式を整える

計算フィールドに次のように書き、表示形式を「文字列」にします。

DATE_FORMAT(受付日, "YYYY年MM月dd日", "Asia/Tokyo")

これで「2026年09月20日」という文字列になります。"YYYY/MM/dd" や "YYYY-MM" も同じ書き方です。第3引数のタイムゾーンは省略せず "Asia/Tokyo" を書いてください。省略すると環境によって1日ずれます。

できること2:日数の差と、n日後

kintoneは日付フィールドを「1970年1月1日からの日数」として扱います。そのため、計算フィールドはそのまま引き算・足し算で書けます。

計算式 表示形式 結果
終了日 - 開始日 数値 日数(例:14)
受付日 + 30 日付 30日後の日付

ただしこれは暦日です。「30日後」は土日も祝日も数に入ります。

できないこと:和暦・曜日

DATE_FORMAT の書式には、元号を出す記号も曜日を出す記号もありません。"令和" と文字で書いて DATE_FORMAT(...) とつなげても、改元をまたいだ瞬間に間違いになりますし、年の数字を令和の年に直す計算も自前で書くことになります。

「文字列にして表示」の限界

「では、文字列フィールドを用意して人が和暦を打てばいいのでは」と考えたくなります。ここには3つの問題があります。

  1. 二重入力になる。日付フィールドと和暦の文字列を両方入力するため、片方だけ直したときにずれます
  2. 並べ替え・絞り込みが壊れる。文字列の「令和8年9月20日」は日付として扱われないため、一覧での期間指定やグラフの集計に使えません
  3. 表記が人によってばらつく。「R8.9.20」「令和8年9月20日」「令8/9/20」が混ざります

日付は必ず日付フィールドで持ち、和暦や曜日は「表示用の文字列を自動で入れる」形にするのが正解です。日付フィールドが元データ、文字列は帳票や一覧に出すためのコピー、という役割分担です。

JavaScriptで書くとどうなるか

日付フィールドが変わったときと保存時に、和暦と曜日を文字列フィールドへ入れる例です。

(() => {
  'use strict';
  const SRC = '受付日';       // 日付フィールド
  const DEST = '和暦';        // 文字列(1行)フィールド
  const WEEK = '日月火水木金土';

  const fmt = new Intl.DateTimeFormat('ja-JP-u-ca-japanese', {
    era: 'long', year: 'numeric', month: 'long', day: 'numeric',
  });

  const build = (value) => {
    if (!value) return '';
    // "2026-09-20" を数値で渡す(文字列を new Date に渡すとUTC扱いでずれる)
    const [y, m, d] = value.split('-').map(Number);
    const date = new Date(y, m - 1, d);
    // Intl は1年目を「令和1年」と出すので「元年」に直す
    const wareki = fmt.format(date).replace(/(\D)1年/, '$1元年');
    return `${wareki}(${WEEK[date.getDay()]})`;
  };

  const events = ['create', 'edit'].flatMap((t) => [
    `app.record.${t}.change.${SRC}`, `app.record.${t}.submit`,
  ]);

  kintone.events.on(events, (event) => {
    event.record[DEST].value = build(event.record[SRC].value);
    event.record[DEST].disabled = true;   // 手で直せないようにする
    return event;
  });
})();

「令和8年9月20日(日)」が入ります。30行ほどですが、実運用ではここに次が積み上がります。

  • 「R8.9.20」のような短い形も欲しい → 書式を切り替える設定
  • 対象の日付が複数ある(受付日・期限日・完了日) → ルールを増やせる作り
  • 営業日の計算 → 日本の祝日の判定を自前で持つ必要がある

最後の祝日が厄介です。ハッピーマンデー、春分・秋分(年によって日が動く)、振替休日、国民の休日をすべて自前で計算するか、外部の祝日APIを叩くことになります。外部APIは、自治体のLGWAN環境や閉じた社内ネットワークでは使えません。 JavaScriptカスタマイズ全般の基本は13章 JavaScript・API・外部連携にまとめています。

設定だけで済ませる:日付計算(無料)

COTSUBUが公開している無料プラグイン日付計算は、上の内容を設定画面だけで実現します。

種類 出力の例 出力先のフィールド
和暦 令和8年9月20日 / R8.9.20 文字列(1行)
曜日 日 / 日曜日 文字列(1行)
年月 2026年9月 / 2026-09 文字列(1行)
n日後・nか月後 2026-10-20 日付
n営業日後 2026-10-05 日付
2つの日付の間の日数・営業日数 14 / 10 数値

設定は次の5ステップです。

  1. 出力先のフィールドを用意する(和暦・曜日は文字列(1行)、n日後などは日付、日数は数値)
  2. アプリの設定 →「プラグイン」→「日付計算」の歯車アイコン
  3. 「+ ルールを追加」で、種類・元の日付・出力先を選ぶ
  4. 営業日で休みにしたい日があれば「会社独自の休日」に1行1日で書く
  5. 「保存する」→「アプリを更新」

無料・会員登録不要・外部と通信しません。 祝日は外部から取りに行かず、祝日法のルール(固定日・ハッピーマンデー・春分/秋分・振替休日・国民の休日)から計算します。そのためLGWAN環境や閉じた社内ネットワークでも動きます。和暦の1年目は「元年」と表示します。

元の日付を変えた瞬間と保存時に計算し、前のルールの結果を次のルールの元にできます。「受付日 → 10営業日後の回答期限 → その和暦表示」のような連鎖も設定だけで組めます。

「期限まであと何日」は別の機能

似て見えますが、残日数は日付計算とは別の問題です。残日数は今日の日付で変わるため、保存したときの値を入れておくと翌日にはずれます。

一覧で「期限切れは赤、3日以内は黄色」と色を付けたい場合は、無料プラグイン期限・残日数を使います。一覧の色は開いた日の日付で判定し直すので、保存から日がたっても正しく出ます。残日数は暦日と営業日のどちらでも数えられます。

日付から「2026-09」の年月を入れておくと、月ごとの集計やグラフ・レポートがそのまま組めるようになります。年月の文字列は、グラフの分類項目として扱いやすい形です。

まとめ

  • 標準の計算式でできるのは西暦の書式・日数の差・n日後まで
  • 和暦・曜日・営業日の計算は、標準の計算式では書けない
  • 和暦を人が打つと二重入力になり、並べ替えと集計が壊れる。日付フィールドを元データにする
  • JavaScriptでも書けるが、祝日の判定を自前で持つことになる
  • 設定だけで済ませるなら無料の日付計算
  • 「期限まであと何日」の色分けは期限・残日数

→ kintone導入支援の詳細 → kintone無料プラグイン一覧 → kintoneおすすめプラグイン10選

よくある質問

kintoneの計算フィールドで和暦は表示できますか

できません。計算フィールドの DATE_FORMAT 関数には西暦の書式しかなく、令和・平成といった元号の書式は用意されていません。和暦を出すにはJavaScriptかプラグインが必要です。

曜日を自動で入れることはできますか

標準の計算式ではできません。日付から曜日の文字を作る関数がないためです。JavaScriptか、無料プラグインの日付計算を使えば、日付フィールドから「日」「日曜日」を別のフィールドに自動で入れられます。

土日・祝日を除いた「10営業日後」を計算できますか

標準の計算式ではできません。祝日のデータをkintoneが持っていないためです。無料プラグインの日付計算なら、土日と日本の祝日(振替休日・国民の休日を含む)に加えて、年末年始などの会社独自の休日も除いて計算できます。

日付フィールド同士を引き算して日数を出せますか

出せます。計算フィールドに「終了日 - 開始日」と書き、表示形式を「数値」にしてください。kintoneは日付を1970年1月1日からの日数として扱うため、差がそのまま日数になります。ただし営業日数にはなりません。

和暦の1年目は「令和1年」ではなく「令和元年」にできますか

できます。無料プラグインの日付計算は1年目を「元年」と表示します。JavaScriptで書く場合、標準の Intl では「令和1年」になるため、1年目だけ文字を置き換える処理を自分で足すことになります。

宇田川 将也/ 代表取締役

2024年に総務省の地域活性化起業人として島根県海士町に着任。役場に住み込んで業務改善に従事し、kintoneで電子決裁や定期健診管理を構築しました。

経歴を見る

この記事について相談する

貴社・貴団体の状況に合わせて、最適な進め方をご提案します。

30分相談を予約する