中国暦
中国の暦法はいわゆる太陰太陽暦であり、1月の長さを月の月齢約29.3日を基準に1年における月の配列を太陽の運行を基準に定める。新月を朔、満月を望といい朔日を月の初めの日として配当していった。朔日の計算方法には、平朔法と定朔法がある。季節は1太陽年を24分した二十四節気を基準に決められる。二十四節気の計算方法には平気法と定気法がある。12朔望月と1太陽年のずれは閏月を設けることで調整され、閏月は年の途中に置かれ二十四節気の中気を含まない月とされた。年始は前漢の太初暦以来冬至の翌々月、つまり立春前後に設けられ1月には必ず雨水が含まれた。これにより1年の始めと四季の始めが一致するようにされた。
改暦
ところが、章の原則（章法）と実際の太陽日が合致するわけではなかったため、中国では時々暦法の改暦が行われた。当初は章の原則を維持する暦法が用いられていたが、後には章そのものは存続させるものの、太陽年との合致を優先するようになった。こうした章の原則に拘らない暦法を破章法と呼ぶ。日本でも初めての暦法の改暦となった儀鳳暦（唐の麟徳暦）以後は破章法が導入された。そのため、冬至の予定日がずれて章の最初となるべき冬至が朔旦冬至にならない例も出現した。当初、朔旦冬至は注目されていなかったために問題は生じなかったが、延暦3年（784年）に桓武天皇が朔旦冬至の儀式を導入して以後、こうした例が深刻視されるようになった。大衍暦時代の貞観2年に章の最初の冬至が11月2日（ユリウス暦860年12月18日）になることが判明した際に菅原是善らの意見により、冬至の前に大の月を1つ増やして冬至の予定日であった11月2日を11月1日に修正した。2年後に宣明暦が導入されると、こうした改暦が恒常化した。特に承平6年は章首であるにも関わらず、冬至が10月30日（ユリウス暦936年11月16日）となったために暦が乱れたとして「暦家の失」「先儒の失」「不吉の例」と非難された。それ以後、これが悪例として考えられるようになり、その教訓から月の大小や閏月を「改暦」して強引にでも朔旦冬至を実現させるようになった。