中国农历(阴阳历)和西元阳历即公历互转JavaScript

calendar.js

中国农历(阴阳历)和西元阳历即公历互转JavaScript库 GitHub地址

介绍

https://blog.jjonline.cn/userInterFace/173.html

使用

代码库附带有demo.html简单示例调用文件。

/** 公历年月日转农历数据 返回json */
calendar.solar2lunar(1987,11,01);
/** 农历年月日转公历年月日 */
calendar.lunar2solar(1987,9,10);
/**调用以上方法后返回类似如下object(json)具体以上就不需要解释了吧!*/
/** c开头的是公历各属性值 l开头的自然就是农历咯 gz开头的就是天干地支纪年的数据啦~ */
{
    Animal: "兔",
    IDayCn: "初十",
    IMonthCn: "九月",
    Term: null,
    astro: "天蝎座",
    cDay: 1,
    cMonth: 11,
    cYear: 1987,
    gzDay: "甲寅",
    gzMonth: "庚戌",
    gzYear: "丁卯",
    isLeap: false,
    isTerm: false,
    isToday: false,
    lDay: 10,
    lMonth: 9,
    lYear: 1987,
    nWeek: 7,
    ncWeek: "星期日"
}
/** 该代码还有其他可以调用的方法,请自己查看代码中的详细注释 */

显示农历

首先引入依赖包

import { calendar } from 'js-calendar-converter'

显示节日节气农历,节日字段为festival ,节气字段为Term,农历字段为IDayCn

/**
     * 显示节日节气农历
     * datetime 格式为YYYY/MM/DD
    */
    function showLunarCalendar(datetime) {
      if (!datetime) return
      const y = datetime.split('/')[0]
      // JS严格模式要禁止使用八进制字面量,因此如果是0开头,要去除
      const m = datetime.split('/')[1][0] === '0' ? datetime.split('/')[1][1] : datetime.split('/')[1]
      const d = datetime.split('/')[2][0] === '0' ? datetime.split('/')[2][1] : datetime.split('/')[2]
      // console.log('calendar', calendar.solar2lunar(y, m, d))
      // 优先取节日,再到节气,最后取农历
      return calendar.solar2lunar(y, m, d).festival || calendar.solar2lunar(y, m, d).Term || calendar.solar2lunar(y, m, d).IDayCn
    }

发表回复

您的电子邮箱地址不会被公开。