当前位置:首页 > JavaScript

用js实现六十甲子

2026-03-01 22:16:28JavaScript

六十甲子的实现方法

六十甲子是中国传统的干支纪年法,由天干(10个)和地支(12个)组合而成,共60种组合。以下是使用JavaScript实现六十甲子的方法:

定义天干和地支数组

const heavenlyStems = ['甲', '乙', '丙', '丁', '戊', '己', '庚', '辛', '壬', '癸'];
const earthlyBranches = ['子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥'];

生成六十甲子数组

function generateSexagenaryCycle() {
  const cycle = [];
  for (let i = 0; i < 60; i++) {
    const stemIndex = i % 10;
    const branchIndex = i % 12;
    cycle.push(heavenlyStems[stemIndex] + earthlyBranches[branchIndex]);
  }
  return cycle;
}

根据年份获取对应的六十甲子

function getSexagenaryYear(year) {
  // 1984年是甲子年,作为基准点
  const baseYear = 1984;
  const offset = (year - baseYear) % 60;
  // 处理负数情况
  const index = offset >= 0 ? offset : 60 + offset;
  return generateSexagenaryCycle()[index];
}

使用示例

const sexagenaryCycle = generateSexagenaryCycle();
console.log(sexagenaryCycle); // 输出完整的六十甲子数组

console.log(getSexagenaryYear(2023)); // 输出2023年对应的干支:癸卯
console.log(getSexagenaryYear(2000)); // 输出2000年对应的干支:庚辰

实现原理说明

天干有10个,地支有12个,它们的最小公倍数是60,因此每60年循环一次。1984年是甲子年,作为基准点,其他年份通过与1984年的差值计算对应的干支。

这种方法可以方便地获取任意年份的干支,也可以生成完整的六十甲子列表。可以根据需要扩展功能,如获取月份或日期的干支。

用js实现六十甲子

标签: 甲子js
分享给朋友:

相关文章

js实现轮播

js实现轮播

实现基础轮播效果 使用HTML结构创建轮播容器和图片元素: <div class="carousel"> <div class="carousel-inner">…

js实现倒计时

js实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时功能可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是几种常见的实现方式: 使用 setInterva…

vue.js实现轮播

vue.js实现轮播

Vue.js 实现轮播功能 使用第三方库(推荐) Vue.js 生态中有许多成熟的轮播组件库,例如 vue-awesome-swiper 或 swiper,它们功能丰富且易于集成。 安装 swipe…

js实现图片放大缩小

js实现图片放大缩小

实现图片放大缩小的基础方法 使用CSS的transform: scale()属性可以快速实现图片的放大缩小效果。通过JavaScript动态修改该属性值: const img = document…

js分组实现

js分组实现

分组实现方法 在JavaScript中,可以通过多种方式实现数组或对象的分组操作。以下是几种常见的方法: 使用Array.prototype.reduce() 通过reduce方法可以轻松实现数组分…

js手势实现

js手势实现

手势识别实现方法 在JavaScript中实现手势识别通常涉及监听触摸事件(touchstart、touchmove、touchend)或鼠标事件(mousedown、mousemove、mouseu…