印刷可能な月間カレンダー生成ツール
年と月を選ぶと、印刷できる週ごとのマス目ができます。2024年2月は29日まであり、木曜日に始まり、日曜始まりなら5行になります。週の始まりは月曜日などほかの曜日にもでき、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 年
- 2,024
- 月
- 2
- 月の名前
- February
- 月の日数
- 29
- 週の開始曜日
- 0
- 週の開始曜日名
- Sunday
印刷可能な月間カレンダーは、単なる日数の計算ではありません。プランナー、学校のプリント、UIモックアップで各日付を正しい曜日の列に配置できるよう、月を週単位でレイアウトする必要があります。この印刷可能な月間カレンダー生成ツールは、グレゴリオ暦の年と1から12までの月を受け取り、その月の日数(うるう年の2月を含む)を計算し、純粋な整数演算で1日の曜日を求め、グリッドが常に7列になるよう先頭と末尾のセルを埋めます。週の開始曜日は選択可能で、デフォルトは日曜日、ISO形式のレイアウトなら月曜日を選べるため、カレンダー計算を再実装せずに同じ月を地域ごとに描き分けられます。1から12の範囲外の月は明確な無効入力エラーで失敗し、課金されません。
年・月・設定可能な週の開始曜日
必須の整数を2つ送信します。省略すると、アメリカ合衆国の多くの印刷用壁掛けカレンダーで使われる一般的な日曜日始まりのレイアウトが維持されます。エンジンはホストのDateオブジェクトを一切呼び出さないため、結果はタイムゾーンやロケール設定でずれません。
1日の曜日はSakamotoのアルゴリズムで計算され、2月の長さはグレゴリオ暦のうるう年規則(4で割り切れる年、ただし100で割り切れる年は400でも割り切れる場合のみ)に従います。黙って翌月に繰り越されてシート全体の印刷を台無しにすることはありません。
印刷での使い方と実用上の注意
授業計画、家族のプランナー、デザインモックアップ、簡単な確認には、カレンダーライブラリをインストールせずに使える無料のブラウザー版印刷可能な月間カレンダー生成ツールをご利用ください。長さだけが必要な場合は月の日数チェックと、次のステップが月グリッドではなくイベントファイルの場合は招待状ビルダーと組み合わせてください。これらは検索意図も製品も異なります。
月は厳密に1から12の範囲に保ち、不正なフォーム値が翌年へ繰り越されず早めに表面化するようにしてください。年の境界は、分離の安全性と一般的な民用利用のために公開されているパラメーター範囲に従います。
入力データは他のKITのparse項目と同じ保持ルールに従い、アルゴリズムは完全に決定論的なので、結果は継続的インテグレーションのフィクスチャに固定しても安全です。
活用例
印刷用プランナーと壁掛けシート
デザインツールや家庭印刷パイプラインが、正しい曜日の列とPDFや紙のレイアウトに対応した空のパディングセルを持つ月グリッドを作成します。
教室・宿題用カレンダー
教師がうるう年や曜日計算を再実装せずに、日曜日始まりまたは月曜日始まりの週で課題シート用の月ビューを生成します。
よくある質問
週を月曜日から始められますか?
0は日曜日(デフォルト)、6は土曜日です。ヘッダーとパディングはそれに合わせてローテーションされます。
monthが1〜12の範囲外だとどうなりますか?
月は1(1月)から12(12月)までの整数でなければならず、範囲外の値は拒否され、課金されません。
印刷可能な月間カレンダー生成ツールは無料ですか?
ブラウザーのツールはお使いのデバイス上で無料で動作します。検証失敗は課金されません。
2月はうるう年に対応していますか?
はい。 グリッドはグレゴリオ暦のうるう年規則を使用するため、うるう年の2月は29日になり、1日の曜日はホストのDateオブジェクトではなく純粋な整数演算で計算されます。
マス目の最初と最後に空白があるのはなぜですか?
どの行も7列にそろえ、各日付を正しい曜日の下に置くためです。2024年2月は木曜日に始まるので、日曜始まりのマス目では1日の前に4つの空白ができます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/date/month-calendar \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"year":2024,"month":2}'const res = await fetch("https://api.kit.forhosting.com/date/month-calendar", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"year": 2024,
"month": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/month-calendar",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"year": 2024,
"month": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/month-calendar", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"year":2024,"month":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"year":2024,"month":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/month-calendar", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"year": 2024,
"month": 2
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.month_calendar",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
レスポンスには構造化された週の行、ローテーションされた英語の曜日ヘッダー、パイプライン向けの安定したラベルが含まれます。
年・月・設定可能な週の開始曜日
サポートされるグレゴリオ暦範囲のyearと、1月を1、12月を12とするmonthです。任意のfirst_weekdayは0から6までの整数で、0は日曜日、1は月曜日、6は土曜日を意味します。yearのエイリアスyとyr、monthのmとmon、週の起点のweek_startやstart_weekdayは、ドキュメントに記載されている場合に受け付けられます。ネットワーク、乱数シード、システム時計を使わない純粋な整数ロジックの経路なので、同じ入力からは常に同じJSONが生成されます。フィールドの欠落、整数でない値、公開範囲外の年、0から6の範囲外のfirst_weekday、1未満または12を超える月はすべてinvalid_inputを発生させ、呼び出し側がリクエストを修正できるようにします。
週・ヘッダー・日付のパディングの読み方
weeks配列がこの契約の核心です。パディングは明示的なnullなので、レンダラーが列オフセットを自分で再計算する必要はありません。成功時のレスポンスには、正規化されたyearとmonth、タイトル用の英語のmonth_name文字列、その月の整数の長さであるdays_in_monthが含まれます。is_leap_yearフラグは、月が2月でなくても、その年がグレゴリオ暦のうるう年かどうかを示します。first_weekdayとfirst_weekday_nameはリクエストした週の起点を表し、first_of_month_weekdayとその名前は、日曜日から土曜日までの絶対的な尺度上で1日の位置を示すため、UIは推測せずに本当の開始位置を強調表示できます。weekday_headersは7要素の英語の曜日名の配列で、最初の列が指定したfirst_weekdayに一致するようローテーションされています。たとえばfirst_weekdayが1なら月曜日から日曜日までの順になります。各エントリーはweek_indexと長さ7のdays配列を持ち、各スロットは1からdays_in_monthまでの日付番号か、最初の前と最後の後の空のパディングを表すnullです。week_countは行数で、通常は4から6です。calendarは常にgregorian、methodは常にmonth_calendarで、テストで安定した分岐ができます。表の列タイトルにはweekday_headers、印刷用グリッドの本体セルにはweeks、月の長さを含むキャプションが必要な場合にはdays_in_monthをお使いください。
APIの使い方・料金・印刷ワークフロー・実用上の制限
必須の整数フィールドyearとmonthを含むJSONボディを送信し、月曜日始まりなど地域別のレイアウトが必要な場合は任意のfirst_weekdayを追加します。印刷パイプライン、教室向け生成ツール、スケジュール製品、マルチテナントのプランナーが安定した契約を必要とする場合は、KIT残高から成功した1件あたり$0.002のプリペイドAPIをご利用ください。エンジンがペイロードを拒否した検証失敗では残高は消費されません。SDKを配布する開発者は、weekday_headersをtheadのラベル、nullスロットを印刷CSS用の空セルとして、weeksを列ごとにHTMLテーブルやPDFセルへマッピングできます。
連携の活用例
アプリUIの月表示widget
フロントエンドがロケールに左右されるDateの癖に頼らず、構造化された週の行とローテーションされたヘッダーから月選択の本体を描画します。
技術的な質問
印刷可能な月間カレンダーはどうやって生成しますか?
yearとmonth(1〜12)を含むJSONを送信してください。レスポンスにはweeks(それぞれ7つの日付スロット)、weekday_headers、days_in_monthが含まれ、完全なグリッドレイアウトを構成できます。