问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

农历与阴历怎么转换的

发布网友 发布时间:2022-04-06 06:57

我来回答

5个回答

懂视网 时间:2022-04-06 11:19

废话不多,直接上代码

<?php
class Lunar
{
 /**
 * Created by 闻海南.
 * User: timeless
 * Date: 2018-5-29
 * Time: 上午9:32s
 */
 var $MIN_YEAR = 1891;
 var $MAX_YEAR = 2100;
 var $lunarInfo = array(
 array(0, 2, 9, 21936), array(6, 1, 30, 9656), array(0, 2, 17, 9584), array(0, 2, 6, 21168), array(5, 1, 26, 43344), array(0, 2, 13, 59728),
 array(0, 2, 2, 27296), array(3, 1, 22, 44368), array(0, 2, 10, 43856), array(8, 1, 30, 19304), array(0, 2, 19, 19168), array(0, 2, 8, 42352),
 array(5, 1, 29, 21096), array(0, 2, 16, 53856), array(0, 2, 4, 55632), array(4, 1, 25, 27304), array(0, 2, 13, 22176), array(0, 2, 2, 39632),
 array(2, 1, 22, 19176), array(0, 2, 10, 19168), array(6, 1, 30, 42200), array(0, 2, 18, 42192), array(0, 2, 6, 53840), array(5, 1, 26, 54568),
 array(0, 2, 14, 46400), array(0, 2, 3, 54944), array(2, 1, 23, 38608), array(0, 2, 11, 38320), array(7, 2, 1, 18872), array(0, 2, 20, 18800),
 array(0, 2, 8, 42160), array(5, 1, 28, 45656), array(0, 2, 16, 27216), array(0, 2, 5, 27968), array(4, 1, 24, 44456), array(0, 2, 13, 11104),
 array(0, 2, 2, 38256), array(2, 1, 23, 18808), array(0, 2, 10, 18800), array(6, 1, 30, 25776), array(0, 2, 17, 54432), array(0, 2, 6, 59984),
 array(5, 1, 26, 27976), array(0, 2, 14, 23248), array(0, 2, 4, 11104), array(3, 1, 24, 37744), array(0, 2, 11, 37600), array(7, 1, 31, 51560),
 array(0, 2, 19, 51536), array(0, 2, 8, 54432), array(6, 1, 27, 55888), array(0, 2, 15, 46416), array(0, 2, 5, 22176), array(4, 1, 25, 43736),
 array(0, 2, 13, 9680), array(0, 2, 2, 37584), array(2, 1, 22, 51544), array(0, 2, 10, 43344), array(7, 1, 29, 46248), array(0, 2, 17, 27808),
 array(0, 2, 6, 46416), array(5, 1, 27, 21928), array(0, 2, 14, 19872), array(0, 2, 3, 42416), array(3, 1, 24, 21176), array(0, 2, 12, 21168),
 array(8, 1, 31, 43344), array(0, 2, 18, 59728), array(0, 2, 8, 27296), array(6, 1, 28, 44368), array(0, 2, 15, 43856), array(0, 2, 5, 19296),
 array(4, 1, 25, 42352), array(0, 2, 13, 42352), array(0, 2, 2, 21088), array(3, 1, 21, 59696), array(0, 2, 9, 55632), array(7, 1, 30, 23208),
 array(0, 2, 17, 22176), array(0, 2, 6, 38608), array(5, 1, 27, 19176), array(0, 2, 15, 19152), array(0, 2, 3, 42192), array(4, 1, 23, 53864),
 array(0, 2, 11, 53840), array(8, 1, 31, 54568), array(0, 2, 18, 46400), array(0, 2, 7, 46752), array(6, 1, 28, 38608), array(0, 2, 16, 38320),
 array(0, 2, 5, 18864), array(4, 1, 25, 42168), array(0, 2, 13, 42160), array(10, 2, 2, 45656), array(0, 2, 20, 27216), array(0, 2, 9, 27968),
 array(6, 1, 29, 44448), array(0, 2, 17, 43872), array(0, 2, 6, 38256), array(5, 1, 27, 18808), array(0, 2, 15, 18800), array(0, 2, 4, 25776),
 array(3, 1, 23, 27216), array(0, 2, 10, 59984), array(8, 1, 31, 27432), array(0, 2, 19, 23232), array(0, 2, 7, 43872), array(5, 1, 28, 37736),
 array(0, 2, 16, 37600), array(0, 2, 5, 51552), array(4, 1, 24, 54440), array(0, 2, 12, 54432), array(0, 2, 1, 55888), array(2, 1, 22, 23208),
 array(0, 2, 9, 22176), array(7, 1, 29, 43736), array(0, 2, 18, 9680), array(0, 2, 7, 37584), array(5, 1, 26, 51544), array(0, 2, 14, 43344),
 array(0, 2, 3, 46240), array(4, 1, 23, 46416), array(0, 2, 10, 44368), array(9, 1, 31, 21928), array(0, 2, 19, 19360), array(0, 2, 8, 42416),
 array(6, 1, 28, 21176), array(0, 2, 16, 21168), array(0, 2, 5, 43312), array(4, 1, 25, 29864), array(0, 2, 12, 27296), array(0, 2, 1, 44368),
 array(2, 1, 22, 19880), array(0, 2, 10, 19296), array(6, 1, 29, 42352), array(0, 2, 17, 42208), array(0, 2, 6, 53856), array(5, 1, 26, 59696),
 array(0, 2, 13, 54576), array(0, 2, 3, 23200), array(3, 1, 23, 27472), array(0, 2, 11, 38608), array(11, 1, 31, 19176), array(0, 2, 19, 19152),
 array(0, 2, 8, 42192), array(6, 1, 28, 53848), array(0, 2, 15, 53840), array(0, 2, 4, 54560), array(5, 1, 24, 55968), array(0, 2, 12, 46496),
 array(0, 2, 1, 22224), array(2, 1, 22, 19160), array(0, 2, 10, 18864), array(7, 1, 30, 42168), array(0, 2, 17, 42160), array(0, 2, 6, 43600),
 array(5, 1, 26, 46376), array(0, 2, 14, 27936), array(0, 2, 2, 44448), array(3, 1, 23, 21936), array(0, 2, 11, 37744), array(8, 2, 1, 18808),
 array(0, 2, 19, 18800), array(0, 2, 8, 25776), array(6, 1, 28, 27216), array(0, 2, 15, 59984), array(0, 2, 4, 27424), array(4, 1, 24, 43872),
 array(0, 2, 12, 43744), array(0, 2, 2, 37600), array(3, 1, 21, 51568), array(0, 2, 9, 51552), array(7, 1, 29, 54440), array(0, 2, 17, 54432),
 array(0, 2, 5, 55888), array(5, 1, 26, 23208), array(0, 2, 14, 22176), array(0, 2, 3, 42704), array(4, 1, 23, 21224), array(0, 2, 11, 21200),
 array(8, 1, 31, 43352), array(0, 2, 19, 43344), array(0, 2, 7, 46240), array(6, 1, 27, 46416), array(0, 2, 15, 44368), array(0, 2, 5, 21920),
 array(4, 1, 24, 42448), array(0, 2, 12, 42416), array(0, 2, 2, 21168), array(3, 1, 22, 43320), array(0, 2, 9, 26928), array(7, 1, 29, 29336),
 array(0, 2, 17, 27296), array(0, 2, 6, 44368), array(5, 1, 26, 19880), array(0, 2, 14, 19296), array(0, 2, 3, 42352), array(4, 1, 24, 21104),
 array(0, 2, 10, 53856), array(8, 1, 30, 59696), array(0, 2, 18, 54560), array(0, 2, 7, 55968), array(6, 1, 27, 27472), array(0, 2, 15, 22224),
 array(0, 2, 5, 19168), array(4, 1, 25, 42216), array(0, 2, 12, 42192), array(0, 2, 1, 53584), array(2, 1, 21, 55592), array(0, 2, 9, 54560)
 );


 /**
 * 将阳历转换为阴历
 * @param year 公历-年
 * @param month 公历-月
 * @param date 公历-日
 */
 function convertSolarToLunar($year, $month, $date)
 {//debugger;
 $yearData = $this->lunarInfo[$year - $this->MIN_YEAR];
 if ($year == $this->MIN_YEAR && $month <= 2 && $date <= 9) {
  return array(1891, '正月', '初一', '辛卯', 1, 1, '兔');
 }
 return $this->getLunarByBetween($year, $this->getDaysBetweenSolar($year, $month, $date, $yearData[1], $yearData[2]));
 }

 function convertSolarMonthToLunar($year, $month)
 {
 $yearData = $this->lunarInfo[$year - $this->MIN_YEAR];
 if ($year == $this->MIN_YEAR && $month <= 2 && $date <= 9) {
  return array(1891, '正月', '初一', '辛卯', 1, 1, '兔');
 }
 $month_days_ary = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
 $dd = $month_days_ary[$month];
 if ($this->isLeapYear($year) && $month == 2) $dd++;
 $lunar_ary = array();
 for ($i = 1; $i < $dd; $i++) {
  $array = $this->getLunarByBetween($year, $this->getDaysBetweenSolar($year, $month, $i, $yearData[1], $yearData[2]));
  $array[] = $year . '-' . $month . '-' . $i;
  $lunar_ary[$i] = $array;
 }
 return $lunar_ary;
 }

 /**
 * 将阴历转换为阳历
 * @param year 阴历-年
 * @param month 阴历-月,闰月处理:例如如果当年闰五月,那么第二个五月就传六月,相当于阴历有13个月,只是有的时候第13个月的天数为0
 * @param date 阴历-日
 */
 function convertLunarToSolar($year, $month, $date)
 {
 $yearData = $this->lunarInfo[$year - $this->MIN_YEAR];
 $between = $this->getDaysBetweenLunar($year, $month, $date);
 $res = mktime(0, 0, 0, $yearData[1], $yearData[2], $year);
 $res = date('Y-m-d', $res + $between * 24 * 60 * 60);
 $day = explode('-', $res);
 $year = $day[0];
 $month = $day[1];
 $day = $day[2];
 return array($year, $month, $day);
 }

 /**
 * 判断是否是闰年
 * @param year
 */
 function isLeapYear($year)
 {
 return (($year % 4 == 0 && $year % 100 != 0) || ($year % 400 == 0));
 }

 /**
 * 获取干支纪年
 * @param year
 */
 function getLunarYearName($year)
 {
 $sky = array('庚', '辛', '壬', '癸', '甲', '乙', '丙', '丁', '戊', '己');
 $earth = array('申', '酉', '戌', '亥', '子', '丑', '寅', '卯', '辰', '巳', '午', '未');
 $year = $year . '';
 return $sky[$year{3}] . $earth[$year % 12];
 }

 /**
 * 根据阴历年获取生肖
 * @param year 阴历年
 */
 function getYearZodiac($year)
 {
 $zodiac = array('猴', '鸡', '狗', '猪', '鼠', '牛', '虎', '兔', '龙', '蛇', '马', '羊');
 return $zodiac[$year % 12];
 }

 /**
 * 获取阳历月份的天数
 * @param year 阳历-年
 * @param month 阳历-月
 */
 function getSolarMonthDays($year, $month)
 {
 $monthHash = array('1' => 31, '2' => $this->isLeapYear($year) ? 29 : 28, '3' => 31, '4' => 30, '5' => 31, '6' => 30, '7' => 31, '8' => 31, '9' => 30, '10' => 31, '11' => 30, '12' => 31);
 return $monthHash["$month"];
 }

 /**
 * 获取阴历月份的天数
 * @param year 阴历-年
 * @param month 阴历-月,从一月开始
 */
 function getLunarMonthDays($year, $month)
 {
 $monthData = $this->getLunarMonths($year);
 return $monthData[$month - 1];
 }

 /**
 * 获取阴历每月的天数的数组
 * @param year
 */
 function getLunarMonths($year)
 {
 $yearData = $this->lunarInfo[$year - $this->MIN_YEAR];
 $leapMonth = $yearData[0];
 $bit = decbin($yearData[3]);
 for ($i = 0; $i < strlen($bit); $i++) {
  $bitArray[$i] = substr($bit, $i, 1);
 }
 for ($k = 0, $klen = 16 - count($bitArray); $k < $klen; $k++) {
  array_unshift($bitArray, '0');
 }
 $bitArray = array_slice($bitArray, 0, ($leapMonth == 0 ? 12 : 13));
 for ($i = 0; $i < count($bitArray); $i++) {
  $bitArray[$i] = $bitArray[$i] + 29;
 }
 return $bitArray;
 }

 /**
 * 获取农历每年的天数
 * @param year 农历年份
 */
 function getLunarYearDays($year)
 {
 $yearData = $this->lunarInfo[$year - $this->MIN_YEAR];
 $monthArray = $this->getLunarYearMonths($year);
 $len = count($monthArray);
 return ($monthArray[$len - 1] == 0 ? $monthArray[$len - 2] : $monthArray[$len - 1]);
 }

 function getLunarYearMonths($year)
 {//debugger;
 $monthData = $this->getLunarMonths($year);
 $res = array();
 $temp = 0;
 $yearData = $this->lunarInfo[$year - $this->MIN_YEAR];
 $len = ($yearData[0] == 0 ? 12 : 13);
 for ($i = 0; $i < $len; $i++) {
  $temp = 0;
  for ($j = 0; $j <= $i; $j++) {
  $temp += $monthData[$j];
  }
  array_push($res, $temp);
 }
 return $res;
 }

 /**
 * 获取闰月
 * @param year 阴历年份
 */
 function getLeapMonth($year)
 {
 $yearData = $this->lunarInfo[$year - $this->MIN_YEAR];
 return $yearData[0];
 }

 /**
 * 计算阴历日期与正月初一相隔的天数
 * @param year
 * @param month
 * @param date
 */
 function getDaysBetweenLunar($year, $month, $date)
 {
 $yearMonth = $this->getLunarMonths($year);
 $res = 0;
 for ($i = 1; $i < $month; $i++) {
  $res += $yearMonth[$i - 1];
 }
 $res += $date - 1;
 return $res;
 }

 /**
 * 计算2个阳历日期之间的天数
 * @param year 阳历年
 * @param cmonth
 * @param cdate
 * @param dmonth 阴历正月对应的阳历月份
 * @param ddate 阴历初一对应的阳历天数
 */
 function getDaysBetweenSolar($year, $cmonth, $cdate, $dmonth, $ddate)
 {
 $a = mktime(0, 0, 0, $cmonth, $cdate, $year);
 $b = mktime(0, 0, 0, $dmonth, $ddate, $year);
 return ceil(($a - $b) / 24 / 3600);
 }

 /**
 * 根据距离正月初一的天数计算阴历日期
 * @param year 阳历年
 * @param between 天数
 */
 function getLunarByBetween($year, $between)
 {//debugger;
 $lunarArray = array();
 $yearMonth = array();
 $t = 0;
 $e = 0;
 $leapMonth = 0;
 $m = '';
 if ($between == 0) {
  array_push($lunarArray, $year, '正月', '初一');
  $t = 1;
  $e = 1;
 } else {
  $year = $between > 0 ? $year : ($year - 1);
  $yearMonth = $this->getLunarYearMonths($year);
  $leapMonth = $this->getLeapMonth($year);
  $between = $between > 0 ? $between : ($this->getLunarYearDays($year) + $between);
  for ($i = 0; $i < 13; $i++) {
  if ($between == $yearMonth[$i]) {
   $t = $i + 2;
   $e = 1;
   break;
  } else if ($between < $yearMonth[$i]) {
   $t = $i + 1;
   $e = $between - (empty($yearMonth[$i - 1]) ? 0 : $yearMonth[$i - 1]) + 1;
   break;
  }
  }
  $m = ($leapMonth != 0 && $t == $leapMonth + 1) ? ('闰' . $this->getCapitalNum($t - 1, true)) : $this->getCapitalNum(($leapMonth != 0 && $leapMonth + 1 < $t ? ($t - 1) : $t), true);
  array_push($lunarArray, $year, $m, $this->getCapitalNum($e, false));
 }
 array_push($lunarArray, $this->getLunarYearName($year));// 天干地支
 array_push($lunarArray, $t, $e);
 array_push($lunarArray, $this->getYearZodiac($year));// 12生肖
 array_push($lunarArray, $leapMonth);// 闰几月
 return $lunarArray;
 }

 /**
 * 获取数字的阴历叫法
 * @param num 数字
 * @param isMonth 是否是月份的数字
 */
 function getCapitalNum($num, $isMonth)
 {
 $isMonth = $isMonth || false;
 $dateHash = array('0' => '', '1' => '一', '2' => '二', '3' => '三', '4' => '四', '5' => '五', '6' => '六', '7' => '七', '8' => '八', '9' => '九', '10' => '十 ');
 $monthHash = array('0' => '', '1' => '正月', '2' => '二月', '3' => '三月', '4' => '四月', '5' => '五月', '6' => '六月', '7' => '七月', '8' => '八月', '9' => '九月', '10' => '十月', '11' => '冬月', '12' => '腊月');
 $res = '';
 if ($isMonth) {
  $res = $monthHash[$num];
 } else {
  if ($num <= 10) {
  $res = '初' . $dateHash[$num];
  } else if ($num > 10 && $num < 20) {
  $res = '十' . $dateHash[$num - 10];
  } else if ($num == 20) {
  $res = "二十";
  } else if ($num > 20 && $num < 30) {
  $res = "廿" . $dateHash[$num - 20];
  } else if ($num == 30) {
  $res = "三十";
  }
 }
 return $res;
 }



/*class end*/ 
}


header("Content-Type:text/html;charset=utf-8");
$lunar = new Lunar();
$month = $lunar->convertSolarToLunar('2017', '03', '09');//将阳历转换为阴历
echo '<pre>';
print_r($month);

更多相关知识,请访问PHP中文网!

热心网友 时间:2022-04-06 08:27

  朋友,农历(又称旧历、古历等)与阳历的转换,因设计闰月等的处理,很麻烦,还么有找到一个通用的转换公式,一般人可以通过查表(例如相当多的手机就有此功能)。现在给你以下参考资料:

  一,农历闰月的计算方法
  农历为什么会有闰月?——农历置闰月是为了协调回归年与农历年的矛盾。
  回归年与农历年有什么矛盾呢?先记住:回归年的总长度为365.2422日,朔望月的长度为29.5306日。
  十二个朔望月构成农历年,长度为29.5306×12=354.3672日,比回归年少10.88天即将近11天,每个月少0.91天,近1天。
  依此,如农历年某年春节为大雪纷飞的冬天,第二年的春节就会在季节上提前11天,第16个农历年就会出现在赤日炎炎的夏天。
  如按十三个朔望月构成农历年,长度为29.5306×13=383.8978日,比回归年又多出18天多。
  如果按上述规定制定历法,就会出现天时与历法不合、时序错乱颠倒的怪现象——这就是矛盾。
  为了克服这一缺点,我们的祖先在天文观测的基础上,找出了“闰月”的办法,保证农历年的正月到三月为春季,四月到六月为夏季,七月到九月为秋季,十月到十二月为冬季,也同时保证了农历岁首在冬末春初。
  农历年中月以朔望月长度29.5306日为基础,所以大月为30日,小月为29日。为保证每月的头一天(初一)必须是朔日,就使得大小月的安排不固定,而需要通过严格的观测和计算来确定。因此,农历中连续两个月是大月或是小月的事是常有的,甚至还出现过如1990年三、四月是小月、九、十、十一、十二连续四个月是大月的罕见特例。
  那么多长时间加一个闰月呢?最好的办法就是求出回归年日数与朔望月的日数的最小公倍数:我们希望m个回归年的天数与n个朔望月的天数相等,也就是应有等式:
  m×365.2422=n×29.5306
  在这个等式中我们不能直接求出m和n,但可以求出它们的比例:

  这个比例的近似值分别为:

  在这些分式中,分子表示回归年的数目,分母表示朔望月的数目。例如第六个分数式 表示19个回归年中必须加7个闰月。
  19个回归年中加7个闰月的结果比较:
  19个回归年=19×365.2422=6939.6018(天)
  一个朔望月有29.5306天,235个朔望月=235×29.5306=6939.6910(天)
  19个回归年中加7个闰月后,矛盾消除得只差:6939.6910-6939.6018=0.0892(天)——即2小时9分多,这已经是够精确的了。
  所以,农历就采用了19年加7个闰月的办法,即“十九年七闰法”,把回归年与农历年很好地协调起来,使农历的元旦(春节)总保持在冬末春初。古人把235个朔望月称之为“闰周”。
  农历置闰的方法可以使农历年的平均长度接近回归年,而农历中的月又有鲜明的月相特征,保持了公历和阴历两全其美的特点。
  现在置闰的方法是两个冬至之间,如仅有12个月则不置闰,若有13个月即置闰。置闰的月从“冬至”开始,当出现第一个没有“中气”的月份,这个月就是闰月,其名称是在前个月的前面加一个“闰”字。
  农历闰哪个月?决定于一年中的二十四个节气。
  我国农历将二十四个节气分为十二个节气和十二个中气。
  二十四节气在农历中的日期是逐月推迟的,于是有的农历月份,中气落在月末,下个月就没有中气。
  一般每过两年多就有一个没有中气的月,这正好和需要加闰月的年头相符。所以农历就规定把没有中气的那个月作为闰月。
  例如2001年农历四月二十九日是中气小满,再隔一个月的初一才是下一个中气夏至,当中这一个月没有中气,就定为闰月,它跟在四月后面,所以叫闰四月。

  二 ,公历和农历之间如何转换?
  很多人都一直在找换阴阳历的公式。我也尝试过。曾读过「高平子」天文前辈所着「学历散论」了解古历的变更和阴阳历的缺陷。才知道由於月球转动的不稳定不规则,确定无公式可寻。这也是古代中国每百年必改历的原因。
  阴历最大的问题是在如何置闰。好像不难,因为阴历基本法则如下:
  * 月朔日即是初一
  * 月以中气得名
  * 以包含雨水中气月为正月,即是「寅」月
  * 月无中气者为闰月,以前月同名

  如果,日月转动循还有规则的话, 推演一套阴阳历转换的公式并不难。问题在有时一个太阴月比一个太阳月还要长。如此一个太阴月就有可能包括两个中气。此双中气月后的阴历月名就全部乱掉了,直到下一个「假」闰月后才调整过来。
  一般人接触到的阴阳历是民用历法,它是*颁令的以东经120度计算的历法或称中原标准时间或北京时。如果,我们用不同时区、不同经度为子午线来重新计算阴阳历,民用历法的置闰法则出了很大的问题。不同时区的闰月可能落在不同月。换言之,在一百年内,任何两个时区的闰月顺序模式是会不相同的。
  高平子前辈书中提到了「历理置闰法」。如果应用历理置闰法到不同时区,则所有不同时区的闰月都落在相同月。如此不同时区、不同经度的阴阳历置闰之问题就消失了。民用置闰和历理置闰的不同是:
  * 在民用置闰,如果月朔日和中气同一天,则该阴历月包含那个中气。
  * 在历理置闰,如果月朔日和中气同一天,月朔日时间必须在中气时间之前,则该阴历月才包含那个中气。
  简言之,民用置闰比较月朔和中气日期;历理置闰比较月朔和中气日期、时、分、秒。由此可知,没有精确的太阳和月亮的时间数字,阴历的闰月可能会排错了。
  基於这些理由,我着手寻找天文公式计算精确的太阳和月亮在纬度的时间。当年没有网路,发了大半年於美国南加州各大图书馆及大学,找寻答案。1993年出版了「中美天文万年历」一书。书中精确的天文日月时间只从1900到2010年。因恐2011后时间误差超过一分钟,不够精确,不敢印出。今年2002从网路资讯,确定太阳和月亮时间的精确度后,百忙中重新整理资料,提供给需要阴阳历转换公式的朋友。
  整理出的太阳和月亮时间数字是从西元1年到2246年。有历理和中国民用两套历法。数字内容清清楚楚的看出民用历法的敝端。例如,从西元1600年到2246年,民用历法双中气的阴历月有22个,历理历法只有5个。民用历法甚至在2033、2128和2242年中,三个月之间居然跑出两个双中气;换言之,三个月中多出两个「假」闰月。前后12个阴历月中有三个闰月,闰月的去留造成许多学者的讨论和困恼。历理历法在此三年中,却没有发现到双中气阴历月。闰月的去留只要把双中气月后的「假」闰月取消,则历理历法近乎於完美。
  由此可知,民用历法问题很大,应该废除。上次阴阳历重大改历在1645年,已经超过350年。随着天文科学的进步,中国阴阳历应该使用较精确的历理历法。免得后代子孙再浪费时间讨论置闰去留的问题。
  阴阳历应用在八字算命、紫微斗数、农民历、遁甲历最多。很多人不知道排八字只用阳历而不用阴历。发了许多时间在研究阴阳历的转换。其实八字只使用太阳中节气,和月亮没有任何关系。紫微斗数则需要阴历日期去排命盘。美国时区的阴历日期有一半和中国时区的阴历日期差一天,因为时差超过12小时;初一就可能在不同日之故。有位在加拿大职业算命的朋友,精通八字和紫微斗数,研究其女命盘。八字论父母,合情合理。斗数父母宫,看不出自己影子。后来,在中美天文万年历一书发现了「差一天」之解答。
  曾有一位退休博士用了近三十年找寻阴阳历的公式,问遍两岸各大天文台,得不到答案,直到发现中美天文万年历一书。最后,希望我重新整理的中国阴阳历的天文数字和原始程式,能给有求知欲於阴阳历转换方法的读友一个答案,以免得不到答案而遗憾终身。
  中国阴阳历的天文数字和原始程式用简单英文阐述,
  请从下述 Chinese Lunar Calendar 进入。
  --------------------------------------------------------------------------------高平子 Kao Ping Tse”1888-1970〔是中国近代最有成就的天文学者之一。他没有接受正规的天文教育。凭着对天文的酷爱,自己研读天文书籍。因为他对天文的贡献,在他的百年冥诞,月球的一个环形月坑以他的名字为名。位置在月球东经87.6度,南纬6.7度, 直径34公里,为国争光。

  三,查表转换
  http://www.enterdesk.com/wnl.html

热心网友 时间:2022-04-06 09:45

呵呵 就是不同的历法 好像不存在转换 都是一样推着走的
年号不一样 由天干地支搭配而成 共60个 不断循环
农历一个月最多三十天 最少29天 还有闰月 不存在闰年

热心网友 时间:2022-04-06 11:19

农历就是阴历啊!!!!不过你问的应该是农历如何转换为阳历吧?最简单的方法就是————看日历

热心网友 时间:2022-04-06 13:11

农历不就是阴历吗?!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
狗患肠炎怎么治 狗狗结肠炎症状及治疗(便秘性结肠炎的症状及治疗) 【干货】如何翻译商务英语中的数词 一年级数量词组成的短语 abs和pp材质食用哪个好 abs塑料是食品级的吗 食品级abs塑料宝宝可以用吗 把实际长度扩大400倍后画在图纸上,比例尺是400:1.___(判断对错) 原来图纸的比例尺是1:1000000,把图纸放大16倍新图的比例尺是多少? 把实际长度扩达400倍后画在图纸上,比例尺是1:400? ( ) 对或错 把实际距离缩小500倍后画在图纸上,比例尺为500:1.___.(判断对错) 求农历与公历的转换公式!!! 给一段阴历计算农历的代码 要PHP的 php里,管理员登录,就可以修改数据库数据,这个权限的原理是什么? 求php实现登录成功后返回首页并在原登录处显示用户名的源代码(类似于铁血网的登录) php 怎么做到当别人给我微信扫码付款后,我这里php有显示 php会员登录与注册的源代码,及其原理。。。 PHP CRYPT实现密码验证原理是什么? php 怎样设置分享出去的页面不用注册&#47;登陆就可以直接通过分享出去的链接或二维码访问,连接上带有参数! php 扫码登录的方法怎么跳转 php扫码登录如何实现 求教thinkphp,如何设置session的生命周期 thinkphp 使用session 报错 Class &#39;Session&#39; not found thinkphp 中的session为什么在其他方法中不能用 thinkphp两个控制器使用一个session怎样做 我在thinkphp 里面session保存值有时成功,有时失败,goole一般能保存,其他浏览器有时能保存,纠结!!! thinkphp session怎么设置过期时间 thinkphp 中使用smarty session php thinkphp3.2 怎么使用session记录用户登录 写ThinkPHP的时候session报错,具体在图中这种怎么解决? 在thinkphp 模版怎么判断session 哥哥们`!阳历和阴历之间怎么换算呀`! 公历与农历的转换。 公历生日和农历生日怎么转换的? php获取当前时间或某一固定时间的干支表示。也就是说把公历时间转换成传统的干支计时。年月日时都要。 农历转换成公历的计算公式? 农历公历转换计算 200分 excel高手请进 农历转公历的宏代码 在php中请问文本框中换行与回车有什么区别呢? PHP处理表单换行? php 过滤空行,替换换行问题 在线等!!! 没分了,帮帮忙!! ios14可以不用桌面小部件嘛 iOS14隐藏桌面图标怎么做? win10怎么安装威尔科姆2.0t第二步 win10专业版64位,怎么安装威尔克姆e2.0? win10系统怎么安装威尔克姆 威尔克姆e2.0t解压密码 求威尔克姆e2.0(第3步主程序).rar的解压密码 威尔克姆9.0怎么导入图片 绣花软件威尔克姆9.0怎么装啊。。求个详细的步骤拜托各位了 3Q 怎样安装威尔克姆9.0S+SP4中文版 威尔克姆中的各个机器格式有什么区别