犬の発情周期計算機
前回の発情が2026年1月15日に始まり、周期が6か月なら、次の発情は2026年7月15日ごろで、7月8日から22日までが観察期間です。交配やペットホテル、保護施設の予定を前もって立てられます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 前回の発情
- 2026-01-15
- 周期の長さ
- 6
- 予測開始日
- 2026-07-15
- 開始時期
- 2026-07-08
- 終了時期
- 2026-07-22
- 期間 (日)
- 15
未避妊の雌犬はおよそ六か月のリズムで発情に戻ることが多いですが、真の間隔は個体差があり、小型犬の一部では約四か月、大型犬の一部では一年に及ぶこともあります。ブリーダー、保護施設、病院スタッフはそのため教科書の単一日ではなく、観察した最終発情開始日とその個体自身の周期長から予定を立てます。この発情周期計算機は、最終発情の初日を厳格なYYYY-MM-DD文字列として、正の周期長を月単位で受け取り、純粋な暦算術でその間隔を加え、予測される次回開始日と、その日の前後七日ずつ計十五日の監視窓を返します。繁殖台帳の確認、保護施設の受け入れカレンダー、次回発情の透明な基準が必要な自動化にご利用ください。
犬の発情周期とは何か、次回開始窓の求め方
犬の発情は、発情周期のうち前発情と発情が目に見える段階です。外陰部の腫脹、漿液血性の分泌、その後の乗駕受容がその徴候です。ヒトの月経カレンダーと異なり、飼い主が実際に記録する間隔は発情開始から次の発情開始までで、通例六か月、品種・体格・個体によりおよそ四か月から十二か月です。
整数月はグレゴリオ市民暦で加算するため、一月十五日に六か月を足すと七月十五日になります。到着月に元の日が存在しない場合は、その月の最後の有効日に切り詰めます。一月三十一日に一か月を足すと二月二十八日または二十九日です。
六か月半のように端数がある場合は、平均グレゴリオ月30.436875日で換算し、全日に丸めます。算術は壁時計を見ず、ホストのタイムゾーンを読まず、Dateコンストラクタも呼ばないため、夏時間境界近くの最終発情日でも窓はずれません。これは計画用の推定であり診断ではありません。
初回発情は不規則で、サイレントヒートも起こり、交配判断が正確な受胎適期に依存する場合は、獣医師が細胞診やプロゲステロンで時期を精緻化できます。
活用例
繁殖台帳での次シーズン計画
記録した各発情開始とその雌犬の平均間隔(月)を、交配や預かりの計画向けの予測開始日と十五日の監視窓に変換します。
保護施設・レスキューの受け入れカレンダー
未避妊雌がいつ発情に戻るかを見積もり、収容、預かりメモ、公開譲渡案内が来るべきシーズンを早めに示せるようにします。
よくある質問
固定の180日ではなく月を使う理由は何ですか?
飼い主と犬舎台帳は間隔を月で記録します(通例6、品種により4–12)。市民月の加算は、その日が存在する限り同じ暦日を保ち、「1月15日から六か月」の数え方と一致します。固定180日のオフセットはその日からずれます。
うるう年や月末の日付は扱えますか?
はい。 月の日数とグレゴリオうるう日は純粋な暦算術で適用します。2024-01-31に一か月を足すと2024-02-29、2026-01-31に一か月を足すと2026-02-28です。年境界も同様に繰り上がります。
メス犬の発情はどのくらいの間隔で来ますか?
一般的には約6か月ごとですが、間隔には個体差があり、小型犬の一部では約4か月、大型犬の一部では1年ほどです。その犬自身の周期の長さを使うと予測が正確になります。
結果が1日ではなく15日間の期間で示されるのはなぜですか?
発情の時期は周期ごとに多少ずれるため、予測日の前後7日ずつを観察期間として示します。1日だけでなく、その期間中ずっと兆候に気を配ってください。
この計算機で正確な妊娠しやすい日が分かりますか?
いいえ。これは計画のための目安で、診断ではありません。初回の発情は不規則で、目立たない発情もあります。交配の時期が重要な場合は、獣医師が細胞診やプロゲステロン検査で絞り込めます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/bio/dog-heat-cycle \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"last_heat":"2026-01-15","cycle_length":6}'const res = await fetch("https://api.kit.forhosting.com/bio/dog-heat-cycle", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"last_heat": "2026-01-15",
"cycle_length": 6
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/bio/dog-heat-cycle",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"last_heat": "2026-01-15",
"cycle_length": 6
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/bio/dog-heat-cycle", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"last_heat":"2026-01-15","cycle_length":6}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"last_heat":"2026-01-15","cycle_length":6}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/bio/dog-heat-cycle", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"last_heat": "2026-01-15",
"cycle_length": 6
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "bio.dog_heat_cycle",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
日付が欠けるか周期長が正でない場合、季節を捏造せずinvalid_inputで失敗します。
犬の発情周期とは何か、次回開始窓の求め方
本計算機はその間隔を、排卵日からでも乗駕受容の最終日からでもなく、最終発情の最初の観察日から測ったcycle_lengthか月として扱います。得られたpredicted_startの前後に、獣医学の指導どおり期待日の一週間前から観察を始め一週間後まで見るため、七日ずつの固定監視を開きます。
入力契約、検証、応答の形、決定的エラー
月は一から十二、日はその月に実在する必要があります。二千二十六年二月三十日のような値は拒否され、二千二十三年二月二十九日はグレゴリオ規則でうるう年でないため拒否されます。テストに固定すれば、暦算術の偶発的な書き換えを検出できます。必須フィールドlast_heatが、四桁・ハイフン・二桁の月・ハイフン・二桁の日に一致し、最終発情の最初の観察日を示す文字列であるJSONオブジェクトをPOSTしてください。エイリアスdate、last_heat_date、heat_dateは同じ解析経路に写像されるため、犬舎フォームは好みの名前を保てます。必須のcycle_lengthは有限の月数で、厳密に正かつ最大三十六です。エイリアスcycle_months、months、cycleを受け付けます。last_heatの欠落、null、空文字、非文字列オブジェクト、ISOパターン不一致の文字列はいずれも、フィールド名と期待形を示したinvalid_inputを投げます。周期長がゼロ、負、非有限、または三十六か月超の場合はcycle_lengthを名指しするメッセージで失敗し、課金されません。成功時の本文には常にlast_heat、cycle_length、predicted_start、window_start、window_end、window_days(常に十五)、cycle_days(最終発情から予測開始までの全日数)、規則を再掲するformula文字列が含まれます。例:last_heatが二千二十六年一月十五日でcycle_lengthが六なら、predicted_startは二千二十六年七月十五日、窓は七月八日から二十二日です。
犬の発情周期計算機が犬舎業務と教育で役立つ場面
繁殖プログラムと未避妊雌の家庭は、技術者がシーズン開始を記録した瞬間に、膣細胞診やプロゲステロンで交配を計時する何ヶ月も前の暫定的な次回発情窓を必要とすることが多いです。本計算機を埋め込むと、市民月の透明なオフセットと、公表された前後七日の監視範囲が得られ、犬舎の文面もサポートチームも日付ライブラリを分解せずに引用できます。計画交配や選択的避妊が正確な受胎適期に依存する場合はプロゲステロン計時と獣医師の助言を優先し、十五日の窓は従来どおりの監視範囲——単純で説明可能で決定的——として扱ってください。保存済みYYYY-MM-DDのlast_heat日から予定シーズン列を再計算する病院リマインダや繁殖台帳アーカイブは、獣医ライブラリを配布せず、夏時間境界でずれるホストのDate実装にも依存せず、同じ純粋関数を一括処理できます。
連携の活用例
病院リマインダと教育ウィジェット
飼い主と学習者が周期長を月単位で変え、四か月リズムと十二か月リズムで次回発情の開始範囲がどう動くかをすぐ確認できます。
技術的な質問
次回の犬の発情開始窓はどのように計算しますか。
計算機はcycle_length市民月をlast_heatに加え(到着月が短いときは日を切り詰め)、端数月は平均グレゴリオ月30.436875日で換算し、そのpredicted_startの7日前から7日後までの監視窓を開きます。window_daysは常に15です。
必須の入力フィールドはどれですか。
last_heat(YYYY-MM-DD)とcycle_length(正の月数、最大36)です。日付にはエイリアスdate、last_heat_date、heat_date、間隔にはcycle_months、months、cycleを受け付けます。欠落・空・存在しない暦日、または正でない周期長はinvalid_inputを返し、課金されません。
犬の発情周期計算機の料金はいくらですか。
ブラウザウィジェットは無料です。API呼び出しは成功したタスクあたり$0.002の前払いKIT残高を使い、無効な入力は課金されません。