首页 > 代码实现甲子纪年

代码实现甲子纪年

$tianGan = array('甲','乙','丙','丁','戊','己','庚','辛','壬','癸');
$diZhi = array('子','丑','寅','卯','辰','巳','午','未','申','酉','戌','亥');
如何输出如下结果:
$GZ = array(

       '甲子','乙丑','丙寅','丁卯','戊辰','已巳','庚午','辛未','壬申','癸酉',
       '甲戌','乙亥','丙子','丁丑','戊寅','已卯','庚辰','辛巳','壬午','癸未',
       '甲申','乙酉','丙戌','丁亥','戊子','己丑','庚寅','辛卯','壬辰','癸巳',
       '甲午','乙未','丙申','丁酉','戊戌','已亥','庚子','辛丑','壬寅','癸卯',
       '甲辰','乙巳','丙午','丁未','戊申','已酉','庚戌','辛亥','壬子','癸丑',
       '甲寅','乙卯','丙辰','丁巳','戊午','已未','庚申','辛酉','壬戌','癸亥'

);
就是所谓的六十甲子。


 var tianGan = ['甲', '乙', '丙', '丁', '戊', '己', '庚', '辛', '壬', '癸'],
                diZhi = ['子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥'],
                tianGanLength = tianGan.length,
                dizhiLength = diZhi.length,
                i = 0, j = 0,
                result = [];
        while (1) {
            var x = i % tianGanLength,
                    y = j % dizhiLength;
            if (x == 0 && y == 0 && i) {
                break;
            }
            result.push(tianGan[x] + diZhi[y]);
            i++;
            j++;
        }

代码就不上了 说下通用的方法 首先就是观察规律 如果子丑寅卯这样不方便看 可以转化成数字 列一下观察规律 这个例子实际上就是十个天干整体循环六次 即一共六十次 每次天干计数和地支各+1 判断超出各自总数则回到第一个 基本上就这个思路去写就可以了

【热门文章】
【热门文章】