@prefix schema: <https://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ks: <https://comcomponent.com/vocab/> .

<https://comcomponent.com/blog/japanese-calendar-holidays-closing-date-guide/#article>
    schema:about <https://comcomponent.com/knowledge/japanese-calendar-class/>, <https://comcomponent.com/knowledge/holiday-master/>, <https://comcomponent.com/knowledge/closing-date-calculation/> ;
    schema:mentions <https://comcomponent.com/knowledge/japanese-era/>, <https://comcomponent.com/knowledge/windows-update/>, <https://comcomponent.com/knowledge/first-year-as-number-switch/>, <https://comcomponent.com/knowledge/era-year-range-switch/>, <https://comcomponent.com/knowledge/invalid-wareki-date/>, <https://comcomponent.com/knowledge/era-hardcoding/>, <https://comcomponent.com/knowledge/wareki-string-storage/>, <https://comcomponent.com/knowledge/current-culture-user-override/>, <https://comcomponent.com/knowledge/wareki-data-contamination/>, <https://comcomponent.com/knowledge/invariant-culture/>, <https://comcomponent.com/knowledge/holiday-determination/>, <https://comcomponent.com/knowledge/holiday-hardcoding/>, <https://comcomponent.com/knowledge/cabinet-office-holiday-csv/>, <https://comcomponent.com/knowledge/substitute-holiday/>, <https://comcomponent.com/knowledge/national-holiday-between/>, <https://comcomponent.com/knowledge/provisional-holiday-flag/>, <https://comcomponent.com/knowledge/business-day-calendar/>, <https://comcomponent.com/knowledge/company-holiday-master/>, <https://comcomponent.com/knowledge/addmonths-rounding/>, <https://comcomponent.com/knowledge/days-in-month/>, <https://comcomponent.com/knowledge/recurring-addmonths-accumulation/>, <https://comcomponent.com/knowledge/closing-date-drift/>, <https://comcomponent.com/knowledge/fiscal-year/> .

<https://comcomponent.com/knowledge/japanese-calendar-class/> a skos:Concept ;
    skos:prefLabel "JapaneseCalendarクラス"@ja ;
    skos:definition ".NETで複数の元号(era)を扱える数少ないカレンダークラスの1つ。元号情報はOS側から供給され、書式指定子gで元号名を整形する。"@ja ;
    skos:altLabel "JapaneseCalendar" ;
    skos:altLabel "和暦カレンダークラス"@ja ;
    ks:uses <https://comcomponent.com/knowledge/japanese-era/> ;
    ks:configuredBy <https://comcomponent.com/knowledge/first-year-as-number-switch/> ;
    ks:configuredBy <https://comcomponent.com/knowledge/era-year-range-switch/> .

<https://comcomponent.com/knowledge/holiday-master/> a skos:Concept ;
    skos:prefLabel "祝日マスタ"@ja ;
    skos:definition "祝日の日付と名称をデータとして保持し、フローの営業日判定に使う一覧。"@ja ;
    skos:altLabel "祝日リスト"@ja ;
    skos:altLabel "祝日テーブル"@ja ;
    skos:altLabel "Public Holiday Master" ;
    ks:recommendedFor <https://comcomponent.com/knowledge/holiday-determination/> ;
    ks:uses <https://comcomponent.com/knowledge/substitute-holiday/> ;
    ks:uses <https://comcomponent.com/knowledge/national-holiday-between/> .

<https://comcomponent.com/knowledge/closing-date-calculation/> a skos:Concept ;
    skos:prefLabel "締め日計算"@ja ;
    skos:definition "「20日締め翌月末払い」のような取引先ごとの締め日・支払サイトの定義から、実際の締め日・支払期日を導く計算処理。"@ja ;
    skos:altLabel "締め日・支払期日の計算"@ja ;
    skos:altLabel "Closing Date Calculation" ;
    ks:uses <https://comcomponent.com/knowledge/addmonths-rounding/> ;
    ks:uses <https://comcomponent.com/knowledge/days-in-month/> ;
    ks:uses <https://comcomponent.com/knowledge/business-day-calendar/> ;
    ks:uses <https://comcomponent.com/knowledge/fiscal-year/> .

<https://comcomponent.com/knowledge/japanese-era/> a skos:Concept ;
    skos:prefLabel "元号(和暦)"@ja ;
    skos:definition "明治・大正・昭和・平成・令和のように、天皇の即位に伴って区切られる日本の紀年法。"@ja ;
    skos:altLabel "和暦"@ja ;
    skos:altLabel "Japanese Era" .

<https://comcomponent.com/knowledge/windows-update/> a skos:Concept ;
    skos:prefLabel "Windows Update"@ja ;
    skos:definition "Microsoftが更新プログラムを配信するオンラインサービス。"@ja .

<https://comcomponent.com/knowledge/first-year-as-number-switch/> a skos:Concept ;
    skos:prefLabel "FormatJapaneseFirstYearAsANumberスイッチ"@ja ;
    skos:definition "元号の1年目を数字の「令和1年」表記に戻すための.NETの互換スイッチ。既定では「令和元年」のように元年と整形される。"@ja ;
    skos:altLabel "Switch.System.Globalization.FormatJapaneseFirstYearAsANumber" .

<https://comcomponent.com/knowledge/era-year-range-switch/> a skos:Concept ;
    skos:prefLabel "EnforceJapaneseEraYearRangesスイッチ"@ja ;
    skos:definition "元号の年範囲チェックを厳格化する.NETの互換スイッチ。既定では緩和されており、「平成33年」のような実在しない年も受理され換算される。"@ja ;
    skos:altLabel "Switch.System.Globalization.EnforceJapaneseEraYearRanges" .

<https://comcomponent.com/knowledge/invalid-wareki-date/> a skos:Concept ;
    skos:prefLabel "存在しない和暦日付"@ja ;
    skos:definition "「昭和64年1月10日」のように、年としては元号の範囲内だが実際には別の元号に切り替わっている実在しない日付。年の範囲チェックだけでは弾けない。"@ja ;
    skos:altLabel "昭和64年1月10日問題"@ja .

<https://comcomponent.com/knowledge/era-hardcoding/> a skos:Concept ;
    skos:prefLabel "元号のハードコード"@ja ;
    skos:definition "「if (year >= 2019) era = \"令和\";」のような自前の元号変換テーブル・分岐や、帳票テンプレートに直接書かれた元号など、改元に自動追従しないアプリ側の実装。"@ja ;
    skos:altLabel "自前の元号変換テーブル"@ja ;
    skos:altLabel "元号アルファベット1文字の独自ルール"@ja ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/japanese-era/> .

<https://comcomponent.com/knowledge/wareki-string-storage/> a skos:Concept ;
    skos:prefLabel "和暦文字列での保存"@ja ;
    skos:definition "日付を和暦文字列のままデータベース等に保存すること。元号をまたぐ文字列比較の破綻や、実在しない日付の混入を招く。"@ja ;
    skos:altLabel "和暦のままの保存"@ja .

<https://comcomponent.com/knowledge/current-culture-user-override/> a skos:Concept ;
    skos:prefLabel "CultureInfo.CurrentCultureのユーザーオーバーライド"@ja ;
    skos:definition "CultureInfo.CurrentCultureが既定でWindowsユーザーによる地域設定の変更を反映する挙動。OSのカレンダーの種類を「和暦」に変更したユーザー端末では、既定書式が和暦文字列を返すようになる。"@ja ;
    skos:altLabel "ユーザーオーバーライド"@ja .

<https://comcomponent.com/knowledge/wareki-data-contamination/> a skos:Concept ;
    skos:prefLabel "保存データへの和暦混入"@ja ;
    skos:definition "カルチャ既定のToString()で日付を保存・出力するコードが、和暦設定端末上で和暦形式の文字列を出力してしまい、後段のパースが壊れる事象。"@ja ;
    skos:altLabel "和暦混入"@ja .

<https://comcomponent.com/knowledge/invariant-culture/> a skos:Concept ;
    skos:prefLabel "CultureInfo.InvariantCulture"@ja ;
    skos:definition "OSの地域設定(カルチャ)に依存しない数値・日付の書式変換に使う.NETのカルチャ。CSV出力での区切り文字との衝突回避だけでなく、和暦混入の防止やログ出力の検索性維持など、境界を越える日付・数値の文字列表現を固定したい場面で広く使われる。"@ja ;
    skos:altLabel "不変カルチャ"@ja ;
    skos:altLabel "InvariantCulture" ;
    ks:prevents <https://comcomponent.com/knowledge/wareki-data-contamination/> .

<https://comcomponent.com/knowledge/holiday-determination/> a skos:Concept ;
    skos:prefLabel "祝日判定"@ja ;
    skos:definition "ある日付が祝日かどうかを判定する処理。春分・秋分の確定時期や法改正・特別措置法による変更のため、固定の計算式だけでは正しく行えない。"@ja ;
    skos:altLabel "Holiday Determination" .

<https://comcomponent.com/knowledge/holiday-hardcoding/> a skos:Concept ;
    skos:prefLabel "祝日のハードコード"@ja ;
    skos:definition "祝日の月日をソースコードに直書きして判定する実装。法改正のたびに全クライアントの再配布が必要になる。"@ja ;
    skos:altLabel "switch(month, day)による祝日判定"@ja ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/holiday-determination/> .

<https://comcomponent.com/knowledge/cabinet-office-holiday-csv/> a skos:Concept ;
    skos:prefLabel "内閣府祝日CSV"@ja ;
    skos:definition "内閣府が「国民の祝日」ページで公表している、昭和30年(1955年)から翌年分までの祝日月日・名称のCSV。祝日マスタ更新の一次ソースとして使える。"@ja ;
    skos:altLabel "syukujitsu.csv" ;
    skos:altLabel "国民の祝日CSV"@ja ;
    ks:requires <https://comcomponent.com/knowledge/invariant-culture/> .

<https://comcomponent.com/knowledge/substitute-holiday/> a skos:Concept ;
    skos:prefLabel "振替休日"@ja ;
    skos:definition "祝日が日曜日に当たるとき、その日後の最も近い「祝日でない日」を休日とする、国民の祝日に関する法律の規定。内閣府CSVには行として含まれる。"@ja ;
    skos:altLabel "Substitute Holiday" .

<https://comcomponent.com/knowledge/national-holiday-between/> a skos:Concept ;
    skos:prefLabel "国民の休日"@ja ;
    skos:definition "前日と翌日が祝日に挟まれた平日を休日とする、国民の祝日に関する法律の規定。内閣府CSVには行として含まれる。"@ja ;
    skos:altLabel "National Holiday Between" .

<https://comcomponent.com/knowledge/provisional-holiday-flag/> a skos:Concept ;
    skos:prefLabel "暫定フラグ運用"@ja ;
    skos:definition "内閣府CSVに未収録の翌々年以降の祝日を、法律のルールから機械的に生成して先埋めし、公表後に確定行で上書きする祝日マスタの運用方式。"@ja ;
    skos:altLabel "is_provisional" .

<https://comcomponent.com/knowledge/business-day-calendar/> a skos:Concept ;
    skos:prefLabel "営業日判定(BusinessDayCalendar)"@ja ;
    skos:definition "土日でない、祝日マスタにない、会社休業日マスタにない、という3条件で営業日かどうかを判定する仕組み。"@ja ;
    skos:altLabel "営業日カレンダー"@ja ;
    ks:uses <https://comcomponent.com/knowledge/holiday-master/> ;
    ks:uses <https://comcomponent.com/knowledge/company-holiday-master/> .

<https://comcomponent.com/knowledge/company-holiday-master/> a skos:Concept ;
    skos:prefLabel "会社休業日マスタ"@ja ;
    skos:definition "夏季休業や創立記念日など、祝日マスタとは別に持つ自社独自の休業日の一覧。用途によって祝日マスタとどちらを参照するかが異なるため分けて持つ。"@ja ;
    skos:altLabel "会社休業日"@ja .

<https://comcomponent.com/knowledge/addmonths-rounding/> a skos:Concept ;
    skos:prefLabel "AddMonthsの月末丸め仕様"@ja ;
    skos:definition "DateTime.AddMonths/DateOnly.AddMonthsが、計算結果の月に存在しない日になる場合にその月の最終日へ丸める仕様。1月31日+1か月は2月28日(29日)になる。"@ja ;
    skos:altLabel "DateTime.AddMonthsの丸め"@ja .

<https://comcomponent.com/knowledge/days-in-month/> a skos:Concept ;
    skos:prefLabel "DateTime.DaysInMonth"@ja ;
    skos:definition "指定した年月の日数を返す.NETのAPI。「月末」を日付リテラルではなくこの値から導出することが推奨される。"@ja ;
    skos:altLabel "DaysInMonth" .

<https://comcomponent.com/knowledge/recurring-addmonths-accumulation/> a skos:Concept ;
    skos:prefLabel "AddMonthsの累積(前回結果への加算)"@ja ;
    skos:definition "毎月の締め日計算などで、前回の計算結果に対してAddMonthsを繰り返し加算していく実装。月またぎで丸めが発生すると、以後ずっと意図しない日にずれ続ける。"@ja ;
    skos:altLabel "前回日付.AddMonths(1)の繰り返し"@ja ;
    ks:mayCause <https://comcomponent.com/knowledge/closing-date-drift/> ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/closing-date-calculation/> .

<https://comcomponent.com/knowledge/closing-date-drift/> a skos:Concept ;
    skos:prefLabel "締め日のずれ(月末の連鎖崩れ)"@ja ;
    skos:definition "AddMonthsの丸めを重ねた結果、「月末」のつもりの日付が2月通過後に28日などへ固定され、以後の計算がずれ続ける不具合。"@ja ;
    skos:altLabel "月末が28日に化ける問題"@ja .

<https://comcomponent.com/knowledge/fiscal-year/> a skos:Concept ;
    skos:prefLabel "年度"@ja ;
    skos:definition "日本の業務アプリでは4月始まりが一般的な、日付から導出される期間の単位。冗長にDBへ保存すると、日付修正時の更新漏れで食い違うデータが生まれる。"@ja ;
    skos:altLabel "Fiscal Year" ;
    skos:altLabel "会計年度"@ja .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/japanese-calendar-class/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/japanese-era/> ;
    schema:description "JapaneseCalendarは複数の元号(era)を認識できる数少ないカレンダークラスの1つである"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/standard/datetime/working-with-calendars#work-with-eras> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/japanese-calendar-class/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/windows-update/> ;
    schema:description "元号情報はOS側から供給されるため、JapaneseCalendarの新元号への追従(既存の元号での動作そのものではない)はOSとNETの更新の適用を前提とする"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/standard/datetime/working-with-calendars#work-with-eras> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/japanese-calendar-class/> ;
    rdf:predicate ks:configuredBy ;
    rdf:object <https://comcomponent.com/knowledge/first-year-as-number-switch/> ;
    schema:description "元号1年目の「元年」表記を数字の「1年」に戻す動作は、FormatJapaneseFirstYearAsANumberスイッチで構成できる"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/standard/datetime/working-with-calendars> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/japanese-calendar-class/> ;
    rdf:predicate ks:configuredBy ;
    rdf:object <https://comcomponent.com/knowledge/era-year-range-switch/> ;
    schema:description "既定で緩和されている元号の年範囲チェックは、EnforceJapaneseEraYearRangesスイッチで厳格化するよう構成できる"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/standard/datetime/working-with-calendars> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/era-year-range-switch/> ;
    rdf:predicate ks:mitigates ;
    rdf:object <https://comcomponent.com/knowledge/invalid-wareki-date/> ;
    schema:description "厳格化すると範囲外の年(例:平成33年)は例外になるが、年としては範囲内で月日だけが不正な昭和64年1月10日のような日付は、年の範囲チェックだけでは弾けない"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/standard/datetime/working-with-calendars> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/era-hardcoding/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/japanese-era/> ;
    schema:description "自前の元号変換テーブル・分岐を和暦の変換・表示に用いることは推奨されず、JapaneseCalendarに任せることが原則とされる"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/standard/datetime/working-with-calendars#work-with-eras> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/wareki-string-storage/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/invalid-wareki-date/> ;
    schema:description "和暦を生のまま保存すると、「昭和64年1月10日」のような実在しない日付を含む不正データが混入しやすい"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/api/system.globalization.japanesecalendar> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/current-culture-user-override/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/wareki-data-contamination/> ;
    schema:description "OSのカレンダーの種類を和暦に変更した端末では、カルチャ既定のToString()で書き出す保存・ログ処理に和暦文字列が混入しうる"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/api/system.globalization.cultureinfo.currentculture> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/invariant-culture/> ;
    rdf:predicate ks:prevents ;
    rdf:object <https://comcomponent.com/knowledge/wareki-data-contamination/> ;
    schema:description "保存・通信・ログなど境界を越える日付文字列をInvariantCultureと明示書式で書き出すことで、和暦設定端末での和暦混入を防げる"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/api/system.globalization.cultureinfo.currentculture> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/holiday-master/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/holiday-determination/> ;
    schema:description "祝日は計算式だけでは判定できないため、祝日マスタと更新運用による設計が本記事の推奨である"@ja ;
    ks:evidence <https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/holiday-hardcoding/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/holiday-determination/> ;
    schema:description "祝日は法改正や特別措置法でたびたび変わるため、switch文などによる祝日のハードコードを祝日判定に用いることは推奨されない"@ja ;
    ks:evidence <https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/holiday-master/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/cabinet-office-holiday-csv/> ;
    schema:description "本記事が推奨する運用では、祝日マスタの更新は内閣府公表の祝日CSVを取り込む方式を一次ソースとする"@ja ;
    ks:evidence <https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/cabinet-office-holiday-csv/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/invariant-culture/> ;
    schema:description "内閣府CSVの日付をパースするコードは、カルチャ既定に任せず書式を固定するためCultureInfo.InvariantCultureとParseExactを使う必要がある(和暦混入を防ぐのと同じ理由)"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/api/system.globalization.cultureinfo.currentculture> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/holiday-master/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/substitute-holiday/> ;
    schema:description "祝日マスタには、内閣府CSVに行として含まれる振替休日も含めて持つ"@ja ;
    ks:evidence <https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/holiday-master/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/national-holiday-between/> ;
    schema:description "祝日マスタには、内閣府CSVに行として含まれる国民の休日も含めて持つ"@ja ;
    ks:evidence <https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/holiday-master/> ;
    rdf:predicate ks:configuredBy ;
    rdf:object <https://comcomponent.com/knowledge/provisional-holiday-flag/> ;
    schema:description "内閣府CSVが未公表の翌々年以降を扱う祝日マスタは、暫定フラグを立てた先埋め行を公表後に確定行で上書きする運用で構成する"@ja ;
    ks:evidence <https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/business-day-calendar/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/holiday-master/> ;
    schema:description "営業日判定は、祝日マスタに含まれる日を非営業日とする条件を持つ"@ja ;
    ks:evidence <https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/business-day-calendar/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/company-holiday-master/> ;
    schema:description "営業日判定は、会社休業日マスタに含まれる日も非営業日とする条件を持てる"@ja ;
    ks:evidence <https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/closing-date-calculation/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/addmonths-rounding/> ;
    schema:description "締め日計算はAddMonthsの月末丸め仕様を踏まえて設計する必要がある"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/api/system.datetime.addmonths> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/closing-date-calculation/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/days-in-month/> ;
    schema:description "締め日計算での「月末」は、日付リテラルではなくDateTime.DaysInMonthから導出することが原則とされる"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/api/system.datetime.addmonths> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/closing-date-calculation/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/business-day-calendar/> ;
    schema:description "支払期日が休日にあたる場合の前営業日への調整に、営業日判定を用いる"@ja ;
    ks:evidence <https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/recurring-addmonths-accumulation/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/closing-date-drift/> ;
    schema:description "前回の計算結果にAddMonthsを重ねる実装は、月をまたぐ丸めが発生すると以後ずっと意図しない日にずれ続ける"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/api/system.datetime.addmonths> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/recurring-addmonths-accumulation/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/closing-date-calculation/> ;
    schema:description "前回の結果にAddMonthsを重ねる実装を締め日計算に用いることは推奨されず、基準日から都度計算することが原則とされる"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/api/system.datetime.addmonths> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/closing-date-calculation/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/fiscal-year/> ;
    schema:description "締め日計算と同じ章で、年度も日付から都度導出する値として扱うべきとされる"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/standard/datetime/working-with-calendars> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .
