Home >Backend Development >PHP Tutorial >javascript - 代码实现甲子纪年
$tianGan = array('甲','乙','丙','丁','戊','己','庚','辛','壬','癸');
$diZhi = array('子','丑','寅','卯','辰','巳','午','未','申','酉','戌','亥');
如何输出如下结果:
$GZ = array(
<code> '甲子','乙丑','丙寅','丁卯','戊辰','已巳','庚午','辛未','壬申','癸酉', '甲戌','乙亥','丙子','丁丑','戊寅','已卯','庚辰','辛巳','壬午','癸未', '甲申','乙酉','丙戌','丁亥','戊子','己丑','庚寅','辛卯','壬辰','癸巳', '甲午','乙未','丙申','丁酉','戊戌','已亥','庚子','辛丑','壬寅','癸卯', '甲辰','乙巳','丙午','丁未','戊申','已酉','庚戌','辛亥','壬子','癸丑', '甲寅','乙卯','丙辰','丁巳','戊午','已未','庚申','辛酉','壬戌','癸亥'</code>
);
就是所谓的六十甲子。
$tianGan = array('甲','乙','丙','丁','戊','己','庚','辛','壬','癸');
$diZhi = array('子','丑','寅','卯','辰','巳','午','未','申','酉','戌','亥');
如何输出如下结果:
$GZ = array(
<code> '甲子','乙丑','丙寅','丁卯','戊辰','已巳','庚午','辛未','壬申','癸酉', '甲戌','乙亥','丙子','丁丑','戊寅','已卯','庚辰','辛巳','壬午','癸未', '甲申','乙酉','丙戌','丁亥','戊子','己丑','庚寅','辛卯','壬辰','癸巳', '甲午','乙未','丙申','丁酉','戊戌','已亥','庚子','辛丑','壬寅','癸卯', '甲辰','乙巳','丙午','丁未','戊申','已酉','庚戌','辛亥','壬子','癸丑', '甲寅','乙卯','丙辰','丁巳','戊午','已未','庚申','辛酉','壬戌','癸亥'</code>
);
就是所谓的六十甲子。
<code> 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++; }</code>
代码就不上了 说下通用的方法 首先就是观察规律 如果子丑寅卯这样不方便看 可以转化成数字 列一下观察规律 这个例子实际上就是十个天干整体循环六次 即一共六十次 每次天干计数和地支各+1 判断超出各自总数则回到第一个 基本上就这个思路去写就可以了