关于阴历日期和易在JS中的好用第三方库

305 阅读2分钟

阳历与阴历在多个社会中都具有丰富的历史和文化意义。为了在JavaScript中更轻松地进行阳历与阴历之间的转换,我们可以使用lunar-javascript库。本指南将带您逐步了解如何使用该库进行阳历和阴历之间的转换。

lunar-javascript简介

lunar-javascript库是一个功能强大的工具,可以帮助开发者在阳历(公历)和阴历之间进行日期转换。该库提供了创建Solar(阳历)和Lunar(阴历)实例的方法,并提供了用于检索各种日期组件的方法,如年、月、日,甚至包括诸如生肖等与时间相关的细节。 官方文档地址:6tail.cn/calendar/ap… 本文仅仅介绍了最常用的api, 其余包括节气、星宿、八卦等等均有相关api,若有需要请参考官方文档

安装

要开始使用lunar-javascript库,您需要在项目中安装它。您可以使用npm(Node包管理器)进行安装:

npm install lunar-javascript

基本转换:阳历转阴历

我们从一个简单的示例开始,演示如何使用lunar-javascript库将阳历日期转换为阴历日期:

const { Solar } = require('lunar-javascript');

// 创建Solar实例
const solar = Solar.fromYmdHms(2023, 8, 21, 14, 21, 1);

// 转换为Lunar实例
const lunar = solar.getLunar();

// 显示转换后的阴历日期
console.log('阴历日期:', lunar.toString());
console.log('完整阴历日期:', lunar.toFullString());

获取阴历日期组件

lunar-javascript库提供了多种方法来获取阴历日期的各个组件:

console.log('阴历年:', lunar.getYear());
console.log('阴历年(中文):', lunar.getYearInChinese());

console.log('阴历月:', lunar.getMonth());
console.log('阴历月(中文):', lunar.getMonthInChinese());

console.log('阴历日:', lunar.getDay());
console.log('阴历日(中文):', lunar.getDayInChinese());

阴历时间和生肖

您还可以使用该库获取与时间相关的信息:

console.log('时辰天干:', lunar.getTimeGan());
console.log('时辰地支:', lunar.getTimeZhi());
console.log('时辰干支:', lunar.getTimeInGanZhi());
console.log('时辰生肖:', lunar.getTimeShengXiao());

不同的起始点

阴历可以使用不同的起始点进行计算。以下是一些示例:

console.log('年天干(从1月1日开始):', lunar.getYearGan());
console.log('年地支(从1月1日开始):', lunar.getYearZhi());
console.log('年干支(从1月1日开始):', lunar.getYearInGanZhi());

console.log('年天干(从立春开始):', lunar.getYearGanByLiChun());
console.log('年地支(从立春开始):', lunar.getYearZhiByLiChun());
console.log('年干支(从立春开始):', lunar.getYearInGanZhiByLiChun());

console.log('年天干(从立春交接时刻开始):', lunar.getYearGanExact());
console.log('年地支(从立春交接时刻开始):', lunar.getYearZhiExact());
console.log('年干支(从立春交接时刻开始):', lunar.getYearInGanZhiExact());

console.log('月天干:', lunar.getMonthGan());
console.log('月地支:', lunar.getMonthZhi());
console.log('月干支:', lunar.getMonthInGanZhi());

console.log('月天干(从节交接当天开始):', lunar.getMonthGanExact());
console.log('月地支(从节交接当天开始):', lunar.getMonthZhiExact());
console.log('月干支(从节交接当天开始):', lunar.getMonthInGanZhiExact());

console.log('日天干:', lunar.getDayGan());
console.log('日地支:', lunar.getDayZhi());
console.log('日干支:', lunar.getDayInGanZhi());

console.log('时辰天干:', lunar.getTimeGan());
console.log('时辰地支:', lunar.getTimeZhi());
console.log('时辰干支:', lunar.getTimeInGanZhi());

总结

lunar-javascript库简化了在JavaScript中进行阳历与阴历转换的过程。通过本指南中提供的示例,您可以自信地使用该库执行日期转换,并检索阴历日期的各种组件。这对于涉及阴历日历计算或基于阴历日历系统的文化活动的项目尤其有价值。祝您编写愉快!