陰曆陽曆之轉換

不論陰曆轉換為陽曆或陽曆轉換為陰曆,都需要先轉換為儒略日。

 

一、            陰曆轉換為陽曆

  1. 求算指定年陰曆各月代碼及其對應的合朔點(即新月點)JD值,計算時是以指定年前一年的11月為首月,指定年的10月為末月。
  2. 各月名稱代碼中。指定年前一年的11月為112月為2,指定年的1月為32月為4,餘類推。閏月多加0.5,例如8月為閏月,則其代碼為10.5
  3. 順序求出相鄰兩個合朔點JD值之差,要先個別加上0.5,取整數後再相減,將此差值加1即為其所包含陰曆月份的天數。大月為30日,小月為29日。
  4. 將指定月之前的各月天數累加,再將之與第一個合朔點JD值與指定月的日期數加總。對於指定月日期數的計算必須以分數表示,例如856時,則8月所含的天數就是(5-1)+6/24=4.25日。
  5. 將此JD轉換為陽曆日期,即為所求。

 

二、            陽曆轉換為陰曆

  1. 將陽曆日期轉換為儒略日
  2. 對指定年求出其陰曆月代碼及其對應之合朔點JD(合朔點所在日子即為初一)
  3. 將指定陽曆日期的JD值與陰曆各月初一的JD值逐一比較,即可判定它是在陰曆的哪一個月中。比較時,各JD值都要先加上0.5,然後取整數。因JD值是從西元前4713年的1112時起算,加上0.5就是將其改為從110時起算。
  4. 找到指定日所在的陰曆月份後,還要判斷其是否為閏月,若其對應的月代碼含有小數0.5則表示該月為閏月。
  5. 將指定陽曆日期的JDjds減去它所在陰曆月份的初一JDjdm,再加上1,即為陰曆當月日期。以公式表示應為Int(jds-Int(jdm+0.5))+1