暦法（れきほう）とは、毎年の暦を作成するための方法を指す。暦は、天体の運行に基づいて確立される。主として太陽と月が用いられ、月の運行に基づいた暦を太陰暦、月と太陽の運行に基づいた暦を太陰太陽暦、太陽の運行に基づいた暦を太陽暦という。

概要 
以下に暦法の概要として表を示す。

太陰暦の暦法

古代オリエントの暦法 
古代オリエント（古代エジプトは除く）では、太陰暦を採用しており、シュメール人のウルク王朝の都市国家（前3500～前3100年頃）もアッカド王国のウル王朝（前2500～前2100年頃）も古代バビロニア王国のバビロン第1王朝（前2000～前1500年頃）の時代も、目測で観測できる月の満ち欠けに基づいて暦を決めていた。通常は、新月（三日月）から始めて次の新月までを1ヶ月としていた。その以前からも太陰歴は使用されたという説もある。

また、暦に関連して、シュメールのウルク王朝時代から、既に60進法が用いられており、これが12時間、60分、60秒の単位として、現在に至るまで受け継がれている。

また、「19太陽年≒235朔望月」とする法則は、西欧では「前432年にギリシアの天文学者メトンによって発見された」と信じられていたので、「メトン周期」と呼ばれるが、実際の発見は、おそらく前8世紀半ばのバビロニアで、メトンはこれを西方に導入したものと考えられる。

ヒジュラ暦の暦法 
ヒジュラ暦採用前のアラビア半島では、ユダヤ暦に学んだ太陰太陽暦を用いており、メトン周期として知られる19年7閏法（19太陽年（228ヶ月）の間に、7回、閏月を置閏し、19太陽年とほぼ等しい長さの235朔望月にする方法）に基づき、第13番目の閏月が3年に一度ほど挿入されていた。その太陽暦の部分を切り落としたものがヒジュラ暦である。

太陰暦（純太陰暦）を用いているヒジュラ暦（イスラム暦）においては、1年を平年354日、閏年はこれに1日足した355日の暦法を用いている。平年は30暦日の月と29暦日の月を交互に12か月設置することになっている。太陰年は正確には1年=354.36705日であり、端数に30を掛けるとほぼ11日（11.011日）となるため、30年に11回の割合で閏日を置く。イスラムの暦法では30年周期のどの年に閏日を割り振るかが重要な課題となる。閏日が置かれる場合は、平年では29日であるズー・アル＝ヒッジャ月（第12月）が30日となる。

なお、ヒジュラ暦の1年は太陽暦の1年よりも11日程短いために、ヒジュラ暦以外の世界から見ると毎年年始の暦日が早まっているように見える。特にラマダーン月（第9月）は日中の断食を伴うために、その日付を知らずに非イスラム教徒がイスラム世界を訪問したときに食事をめぐってトラブルとなる場合がある。

純太陰暦（1年＝約354日）では、端数部分を除いて、閏による補正を行わないために、毎年11日早まるので、33年で季節が一巡する。このことから、「33」は陰秘学（オカルト）において非常に重視される数字となっている。

太陰太陽暦の暦法

東洋の暦法 

原則的には太陰暦と同じ朔望月29.53日、太陰年354.36705日を用いていたが、農耕に適するように何年かに1回閏月を加えることで調整を行った。

中国において行われたのは、季節を知らせる二十四節気を挿入する方法であった。これは冬至から次の冬至までの太陽年を24等分して1か月に2つの節気が含まれることとした。そのうちその月の節気の前者を「節」、後者を「中」あるいは「中気」と呼び、「中気」は暦月に必ず一つ入ることが原則とされていた。「中気」には冬至・大寒・雨水・春分・穀雨・小満・夏至・大暑・処暑・秋分・霜降・小雪があり、その間隔は30.346日である。ところが、実際の暦月は太陰暦と同様に30日と29日の交互であったために、時々「中気」が暦月に入らない月が出現する。その月を前の月の閏月と規定して正規の月から外して、その次の「中気」を含む月を翌月としたのである。その調整のために高度な計算が必要となり、しばしば改暦が行われることとなった。一方、「節」は暦注を定める際の参考とされ、節から節までの間を「節月」として区切った（「節切り」）。なお、24節気の名称は中国文明の中心とされた華北の季節状況に合わせて設定されており、日本や朝鮮半島、それに中国でも華南の季節状況は何ら勘案されていないことに注意を必要とする。さらに、二十四節気の下には七十二候というものもあった。

また、中国においては「三正」という考え方があり、夏は雨水を、商は大寒を、周は冬至を含む月を年始として採用した。これは、他者の暦を用いることは従属の証と考えられたために、前王朝を倒すとその否定のために前王朝と違う「中気」をもつ月を年始と定めたことによる。このため、政権交代のたびに年始が三正の間で移動したが、漢以後は、夏の制度を用いてただ王朝交代のたびに改暦を行うに留めるようになった。

なお、黄道上における太陽のみかけの動きは冬には早く夏には遅く見える。そのため、太陽が黄道上を15度進んだ期間に応じて節気を進める「定気」という手法も中国の時憲暦から採用された。日本では最後の太陰太陽暦となる天保暦でのみ採用された。

西洋の暦法 
新バビロニア（バビロニア歴）・ユダヤ（ユダヤ歴）・古代ギリシアなどの太陰太陽暦は、基本的には東洋のそれと同じであるが、長期的にずれが少なければ良しとして、細かい天象との差異は気にされなかったとされている。これらの国々では黄道十二宮を利用して調整を行った。

太陽暦の暦法

古代太陽暦の暦法 
古代エジプトの暦では、古くは、1か月を30日（1週間は10日。1か月は3週間）、1年を12か月（1年を12か月に分ける方法は、月の満ち欠けの周期（1か月）を12.37回繰り返すと1年経つことに由来する）、1年を360日、とする変則的な太陰暦であることから、古代エジプトでも記録に残る以前の時代には、他の地域（文明）と同じく、太陰暦を使っていたと考えられている。

古代エジプトでは紀元前5600年頃に農業が始まり、紀元前3500年頃には灌漑が始まったと考えられている。古代エジプトの農業は、主にナイル川に依存していたため、その氾濫の時期を正確に知る必要があった。

紀元前4000年頃には、エジプト人は、恒星シリウスの観測から、また、ナイル川の毎年の増水開始の時期に注目して次の年の増水開始までの日数を数え上げ、1年が約365日であることを、既に知っていたと考えられており、これがエジプトにおける太陽暦の始まりとされる。しかし厳密には太陽ではなくシリウス（ソティス）や洪水の周期に基づくものなので、これを「ソティス暦」（シリウス・ナイル暦）という。ソティス暦は紀元前4241年、または、紀元前2781年に始まったとする説がある。

紀元前3000～2000年頃になると、伝統的な「30日×12か月＝360日」に、1年のどの月（暦日）とも関係のない「5日」（360日の70分の1の端数切り捨て）を加えた「365日」からなる、国定の民間暦（民衆暦、シビル暦）が創出された。これは神話ではラーとトート（ヘジュウル）神から与えられたものとして、神聖視され、代々の国王は即位時にこれを遵守することを神々に誓った。

古代エジプトの民間暦では、1年を「アケト」（洪水期、現在の7～10月）「ペレト」（播種期、同11～2月）「シェムウ」（乾季・収穫期、同3～6月）の3季に分け、1季は4か月であった。1年の始まりである「アケト」の第1月は「ヘジュウル月」と称され、新年（古代エジプトの新年は、現在の真夏の7～8月頃にあたる）の祝いとして、時の主人であるトート神の祭儀が行われた。

だが、単純な1年=365日暦であったために、次第に季節と日付のズレが生じてきた。そこで神官は、1年を365.25日とし、4年に1度の閏年に1日の閏日を加えた神官用の官暦を用いて年中行事を行っていた。しかし、民間暦の改訂については神への冒涜であるとして否定的な考えをとり続けた。

紀元前238年に、プトレマイオス3世のカノプス勅令によって官暦への統合（民間暦への閏日の導入）が試みられた。しかしこれは成功しなかった。閏日の導入に成功するのはローマによる支配後のアウグストゥスの頃である。

また、エジプト歴では、日の出から日没までを10の「時間」に分け、これに夕暮れの2つの「時間」が追加された。夜も12の「時間」に分かれていて、昼と夜を合わせて24時間（不定時法）とされた。これが後の紀元前2世紀に、ギリシアの天文学者であったヒッパルコスが「1日の昼と夜を平等に24分割する」ことを唱え、1日24時間（定時法）となり、さらにオリエントの60進法が組み合わされて、現在に至るまで受け継がれている。

ペルシアでは、エジプトの民間暦に年始を90日遅らせたものを用いていた。セルジューク朝時代にウマル・ハイヤームらによって、ユリウス暦の要素をとり入れたジャラリー暦を導入した。現在のヒジュラ太陽暦はその後継であり、春分を年首、1-6月を31日、7-11月を30日、12月を平年29日・閏年30日としている。これは黄道十二宮とのズレをなくすための配列である。

ユリウス暦の暦法 
ユリウス・カエサルがエジプトを征服した紀元前46年に、アレキサンドリアの暦学者ソシゲネスに命じてエジプト暦を改良した暦を古代ローマに導入した。これをユリウス暦（＝太陽暦）という。当時使われていたローマ暦（＝太陰暦）は実際の季節と3か月もずれてしまっていたため、これを調整するために閏月を3か月分挿入した。なお、この際に春分を3月25日と定め、クインティリスを自分にちなんだユリウスと改称させた。

カエサル暗殺後、本来なら閏年を4年に1度とすべきところを誤って3年に1度入れてしまったため、3日間のずれが生じてしまった。そこで、後継者となったアウグストゥスがこれを調整したが、その際にセクスティリスを自らにちなんでアウグストゥスと改称させた。

326年に行われたキリスト教のニカイア公会議は、春分を3月21日、復活祭を春分後の満月の後の最初の日曜日とすること、その復活祭の日付を基にその他の移動祝祭日の日程を定めることを決定した。ユリウス暦では28年を周期とする日曜文字（Dominical Letter）と春分翌日である3月22日の月齢（エパクト）に基づいて算出された。ユリウス暦にも実際の太陽年とのずれが存在したものの、教会当局は暦上の春分を重んじた。そのために実際の太陽年とのずれは次第に大きくなり、16世紀には実際の春分が3月11日に到来するなどの問題が生じてきた。

グレゴリオ暦の暦法 
1582年にローマ教皇グレゴリオ13世の命を受けたクラヴィウスらによって作られたグレゴリオ暦は、週も含めて400年周期の暦で、ユリウス暦の置閏法に加えて、「ただし、西暦年数が100で割り切れる場合、その商が更に4で割り切れない年は平年とする」とするルールを付け加えることによって、400年に97回の閏年を設けることとしたものである。これによって平年は52週と1日となり、1月1日と同じ年の12月31日は同じ曜日となる。さらに翌年には曜日が1日ずつずれていくという原則が成立した。もっとも、閏年の場合には52週と2日となり、曜日も閏年が置かれた3月1日から翌年の2月28日までは2日分ずれていくこととなる。

ユリウス暦やグレゴリオ暦は月の動きを完全に暦法から排除したことによって1月1日が日曜日から土曜日になる7つのパターン及びそれぞれに閏年の設定を持つものと持たないものの2つのパターン、合わせて14種類のパターンを作るのみで、違う年のかつて用いられた暦の再利用が可能となった（月の動きが複雑に絡む太陰太陽暦には困難である）。特にグレゴリオ暦の1年=365.2425日（正確には31556952秒）によって生じる実際の1年（平均太陽年=31556925.179秒）との差は26.821秒（2013年の場合）であり、1日分の誤差が生じるまでには約3220年を要するなど、単純さと正確さを兼ね備えた暦である。

留意事項 
現在使用されている西暦は、かつて暦法である西暦と紀年法である西紀とで区別していたが、後に混同されどちらも西暦とされた。暦法としての西暦はグレゴリオ暦（太陽暦）であり、紀年法としての西暦はキリスト紀元である。紀年法と暦法の使用を混同しないよう留意が必要である。