# 旧暦カレンダー

Cakeday は中国の旧暦（農暦・陰暦）に対応しており、旧暦で誕生日を祝う方の管理に使えます。

## カレンダータイプの切り替え

誕生日の追加・編集時に、日付セクションの上部に**「西暦（Solar）」**と**「旧暦（Lunar）」**の2つの選択肢を持つセグメントピッカーが表示されます。「旧暦」をタップして切り替えます。ピッカーは選択を確定する際にハプティックフィードバックを返し、下の日付フィールドが旧暦形式に更新されます。

## 月と日の選択

旧暦モードでは、月ピッカーに旧暦の1月〜12月が中国語表記（正月、二月など）で表示されます。日ピッカーには、選択した月と年に応じて1〜29または30までの有効な旧暦の日が表示されます。別の月を選択すると、選択可能な日の範囲が自動的に調整されることがあります。

## 閏月

旧暦には閏月（闰月）が存在することがあります。Cakeday では、有効な選択肢である閏月を月ピッカー内に直接表示します。

特定の年が選択されている場合、ピッカーにはその年に実際に存在する閏月だけが表示されます。年を変更して現在選択中の閏月が存在しなくなった場合、Cakeday は通常の旧暦月へ自動的に戻します。

生年が空欄の場合、Cakeday はその方の生年における正確な閏月の並びを特定できません。その場合は、対応している過去データに存在した閏月を選択肢として表示し、候補になり得る年のヒントを表示します。これにより、生年が分かったあとで日付を確認できます。

## 年が不明な誕生日

生年が不明な場合は空欄にできます。西暦の誕生日で年が不明な場合、Cakeday は日付計算に内部的に2000年を基準年として使用します。旧暦の誕生日で年が不明な場合は、月の長さが年によって変わるため、代わりに現在の年が使用されます。いずれの場合も、カウントダウンでは月と日のみが管理されます。

## 西暦・旧暦の自動変換

Cakeday は内部で西暦と旧暦を相互変換します。旧暦の誕生日を追加すると、カウントダウン、通知、カレンダー表示のために対応する西暦日付が計算されます。詳細画面では西暦と旧暦の両方が並べて表示されます。旧暦は毎年西暦に対してずれるため、旧暦誕生日の西暦日付は毎年異なります。

## 旧暦の日付表示形式

旧暦の日付は「正月十五（正月15日）」「八月初三（8月3日）」のような伝統的な漢字表記で表示されます。この形式は誕生日の詳細画面とリスト表示に適用されます。

## 干支（六十干支）

生年が記録されている場合、詳細画面にはその年の伝統的な中国の干支（例：甲子年、丙寅年）も表示されます。この60年周期は十干と十二支を組み合わせたもので、中国暦における伝統的な年の表記法です。
