当前位置:首页 > JavaScript

用js实现六十甲子

2026-03-01 22:16:28JavaScript

用js实现六十甲子

六十甲子的实现方法

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

用js实现六十甲子

定义天干和地支数组

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实现拷贝

实现文本拷贝 使用 document.execCommand 方法(已废弃但兼容性较好): function copyText(text) { const textarea = document…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。 &…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…

js实现跑马灯

js实现跑马灯

实现跑马灯效果 使用HTML和JavaScript可以轻松实现跑马灯效果。以下是两种常见的实现方式: HTML结构 <div id="marquee"> <span>…

js实现删除

js实现删除

使用 splice 方法删除数组元素 splice 方法可以删除数组中的元素,并返回被删除的元素。它接受两个参数:起始索引和要删除的元素数量。 const array = [1, 2, 3, 4…

js sort 实现

js sort 实现

数组排序基础方法 JavaScript 数组的 sort() 方法默认按照字符串 Unicode 码点顺序排序。直接调用时会将元素转为字符串再比较: const arr = [10, 2, 5, 1…