一部历法,两套机制

泰米尔历同时运行两套计时机制。太阳机制追踪太阳经过恒星黄道的路径,用以界定月份;月亮机制追踪月相和月亮位置,用以确定斋戒、庆典和仪式的时间。正是这两套机制之间的相互作用,造成了泰米尔日期相对公历的偏移。

这并非缺陷,而是设计特色。太阳月为农业生产提供了与季节紧密相连的稳定框架;月亮计时则将宗教生活与月亮的真实相位相连,而这一联系在印度教实践中已延续数千年。世界上大多数同时服务于世俗与宗教功能的历法都具有类似的双重性:伊斯兰历是纯粹的太阴历,中国农历是阴阳合历,公历本身也有复活节计算的问题——一套太阳历中内嵌的太阴规则。

太阳历一侧:月份与sankranti

12个泰米尔月份——从Chithirai到Panguni——均为恒星太阳月。每个月份从太阳越过下一个恒星黄道星座边界的那一天开始,这一时刻称为sankranti。由于太阳的恒星年约为365.256天,与公历年(365.2425天)极为接近,泰米尔太阳月的日期几乎与公历日期完全锁定。

Pongal是最典型的例子。它庆祝太阳进入Makara(摩羯座)的时刻,即Makara Sankranti。太阳每年1月14日或15日越过这一边界,数十年间误差不超过一天。泰米尔新年(Chithirai 1,Mesha Sankranti)同样每年落在4月14日或15日。Aadi Perukku(Aadi 18)落在8月2日或3日。这些日期均以太阳为锚点。

月亮历一侧:tithi与nakshatra

Tithi——月亮与太阳之间的角距

Tithi是月亮与太阳沿黄道的角距离,以12度为一步进行测量。当月亮与太阳精确合相(0度)时,即为Amavasai(新月);当月亮与太阳相差180度时,即为Pournami(满月)。每12度定义一个tithi,每个朔望月共有30个tithi——上弦月(shukla paksha)15个,下弦月(krishna paksha)15个。

Nakshatra——月亮的恒星位置

Nakshatra将恒星黄道划分为27个等分,每分13度20分。月亮在每个nakshatra中停留约一天。特定的nakshatra对应特定的节日:Thiruvathirai在Margazhi月期间月亮进入Thiruvathirai(Ardra)星宿时举行;Karthigai Deepam在Karthigai月期间月亮进入Karthigai(Krittika)星宿时举行。

由于nakshatra基于月亮的恒星位置(恒星月≈27.32天),而非月亮相对太阳的相位,基于nakshatra的节日日期也会相对公历发生偏移——但偏移规律与基于tithi的日期不同。

29.53天的漂移:为何同一仪式落在不同日期

朔望月——从新月到新月——约为29.53天。没有任何公历月份与此完全一致:1月有31天,2月有28天(或29天),3月有31天。这种不一致使得每次新月比上次在公历月份中提前或推迟约0.5至2.5天。

经过12个朔望月(354.37天),月亮历比公历年(365.25天)短约10.88天。这就是为什么Deepavali——泰米尔月份Aippasi的Amavasai——可能落在10月中旬至11月初之间的任意一天:太阳月是固定的,但其中的新月在游走。

கணக்கு எடுத்துக்காட்டு

示例:追踪三个月中的Shukla Ekadasi

Shukla Ekadasi(上弦月第11个tithi)每个月落在不同的公历日期。原因如下。

朔望月长度
29.53 days

从新月到新月。

十二月的Amavasai(新月)
December 31
一月的Shukla Ekadasi
January 11

12月31日新月后的第11个tithi(约11天)。

下一个Amavasai
January 29

12月31日 + 29.53天 ≈ 1月29日。

二月的Shukla Ekadasi
February 9

1月29日新月后的第11个tithi。

下一个Amavasai
February 28

1月29日 + 29.53天 ≈ 2月28日。

三月的Shukla Ekadasi
March 11

2月28日新月后的第11个tithi。

Shukla Ekadasi分别落在1月11日、2月9日和3月11日——同一个月亮仪式对应三个不同的公历日期。日期之所以移动,是因为每次朔望月为29.53天,而非整数个公历月。

上述日期仅为示意。实际tithi边界取决于月亮轨道速度的变化。请使用我们的panchangam引擎获取精确日期。

太阳固定与月亮浮动:对比一览

仪式依据公历日期(约)是否浮动?
Pongal(Thai 1)太阳:太阳进入Makara1月14–15日否(±1天)
泰米尔新年(Chithirai 1)太阳:太阳进入Mesha4月14日否(±1天)
Aadi Perukku(Aadi 18)太阳:Aadi月第18天8月2–3日否(±1天)
Deepavali月亮:Aippasi月的Amavasai10–11月是(偏差可达数周)
Ekadasi月亮:第11个tithi每月不同是(每月两次)
Pradosham月亮:第13个tithi每月不同是(每月两次)
Skanda Sashti月亮:Aippasi月的Shukla Sashti10–11月
ThiruvathiraiNakshatra:Margazhi月月亮在Ardra12–1月
太阳仪式(上方)在公历中几乎保持固定;月亮和nakshatra仪式(下方)会发生偏移,因为月亮周期短于公历月份。

Deepavali为何移动:具体案例

Deepavali在泰米尔太阳月Aippasi的Amavasai(新月日)举行。Aippasi从太阳进入Thula(天秤座)时开始,通常在10月17至18日前后,持续约29至30天。Deepavali落在该窗口期内新月出现的那一天。

2024年,Deepavali落在11月1日;2025年落在10月20日;2026年将落在11月8日。仅三年间就有近三周的差距,原因正是月亮的相位周期与太阳经过Thula的时间不同步。

对比Pongal:Thai月从太阳进入Makara时开始,Thai 1即为庆典——与月亮无关。太阳每年1月14日或15日到达Makara,日期实际上已固定不变。

我们的panchangam引擎如何处理两套机制

我们的计算引擎不使用预先发布的历书表格,而是通过成熟的天文算法实时计算太阳和月亮的位置。

  • 太阳位置:基于NOAA的太阳位置公式以亚角秒精度给出视地心黄经。减去Lahiri ayanamsa后转换为恒星(nirayana)黄经,星座边界穿越时刻即为sankranti,也是月份的起点。
  • 月亮位置:Jean Meeus的月球算法(《天文算法》第2版)计算月亮的地心黄道黄经,并考虑主要摄动项。这既给出恒星位置(用于nakshatra),也给出与太阳的角距(用于tithi)。
  • Tithi:月亮黄经减太阳黄经,以12度为步长划分。由于取的是两个黄经之差,该计算与ayanamsa无关。
  • Nakshatra:月亮的nirayana黄经(黄道黄经减Lahiri ayanamsa),划分为27个各13°20'的扇区。
  • Ayanamsa:Lahiri ayanamsa——印度政府的官方标准——依据其定义公式计算,而非查表。

实际应用建议

如果你习惯公历,泰米尔宗教日期的浮动可能令人困惑。Ekadasi并非总在每月11日,Pradosham也不固定在13日。这些数字指的是月亮周期内的tithi序号,而非任何太阳月的具体日期。

  • 每次都请查阅panchangam,确认当月各仪式的确切日期——不要假设它们与上一年的公历日期相同。
  • 太阳节日日期(Pongal、泰米尔新年、Aadi Perukku)可以提前数年写入公历日程。
  • 月亮节日日期(Ekadasi、Pradosham、Amavasai、Pournami、Chaturthi、Sashti)需每月确认。
  • 同时结合太阳与月亮标准的节日日期(例如Deepavali = Aippasi月的Amavasai)继承了月亮的漂移特性,但受太阳月窗口的约束。