当前位置:首页 > JavaScript

用js实现六十甲子

2026-04-04 23:05:25JavaScript

用js实现六十甲子

用js实现六十甲子

六十甲子是中国传统的干支纪年法,由天干(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;
}

按顺序输出六十甲子

const sexagenaryCycle = generateSexagenaryCycle();
console.log(sexagenaryCycle);
// 输出: ["甲子", "乙丑", "丙寅", ..., "癸亥"]

根据年份获取对应干支

function getYearStemBranch(year) {
  // 以1984年为甲子年基准(1984 % 60 = 4,对应甲子)
  const offset = (year - 1984) % 60;
  // 处理负数情况
  const index = offset >= 0 ? offset : 60 + offset;
  return sexagenaryCycle[index];
}

示例用法

console.log(getYearStemBranch(2023)); // 输出: "癸卯"
console.log(getYearStemBranch(2000)); // 输出: "庚辰"

该方法完整实现了六十甲子的生成和查询功能,可以直接在浏览器或Node.js环境中运行。干支组合的算法基于模运算,确保60年循环的正确性。

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

相关文章

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

js实现论坛

js实现论坛

实现论坛的基本功能 使用JavaScript实现一个论坛需要结合前端和后端技术。前端可以使用React、Vue或Angular等框架,后端可以选择Node.js配合Express或Koa框架。数据库可…

js实现百叶窗

js实现百叶窗

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

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…

链表实现js

链表实现js

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和一个指向下一个节点的指针(单向链表)或两个指针(双向链表)。与数组不同,链表在内存中非连续存储,插入和删除操作更高效,但随机…

节流js实现

节流js实现

节流(Throttle)的实现原理 节流是一种限制函数执行频率的技术,确保函数在一定时间间隔内最多执行一次。适用于高频触发事件(如滚动、输入、窗口调整等)的场景。 基础实现方式 使用时间戳判断是否执…