Skip to content

将公历年份转化为农历(天干地支)年份

Robert Yao edited this page Jul 2, 2019 · 1 revision
/**
 * 将公历年份转化为农历(天干地支)年份
 * ========================================================================
 * @param {String|Number} time - 表示时间的字符串或者数值
 * @returns {string}
 */
const getLunarYear = (time) => {
  const HEAVENLY_STEMS = [
    '甲',
    '乙',
    '丙',
    '丁',
    '戊',
    '己',
    '庚',
    '辛',
    '壬',
    '癸'
  ]
  const EARTHLY_BRANCHES = [
    '子',
    '丑',
    '寅',
    '卯',
    '辰',
    '巳',
    '午',
    '未',
    '申',
    '酉',
    '戌',
    '亥'
  ]
  let diff = new Date(time).getFullYear() - 1864

  return HEAVENLY_STEMS[diff % 10] + EARTHLY_BRANCHES[diff % 12]
}