javascript - 代码实现甲子纪年
程序员文章站
2022-04-25 10:09:58
...
$tianGan = array('甲','乙','丙','丁','戊','己','庚','辛','壬','癸');
$diZhi = array('子','丑','寅','卯','辰','巳','午','未','申','酉','戌','亥');
如何输出如下结果:
$GZ = array(
$diZhi = array('子','丑','寅','卯','辰','巳','午','未','申','酉','戌','亥');
如何输出如下结果:
$GZ = array(
'甲子','乙丑','丙寅','丁卯','戊辰','已巳','庚午','辛未','壬申','癸酉',
'甲戌','乙亥','丙子','丁丑','戊寅','已卯','庚辰','辛巳','壬午','癸未',
'甲申','乙酉','丙戌','丁亥','戊子','己丑','庚寅','辛卯','壬辰','癸巳',
'甲午','乙未','丙申','丁酉','戊戌','已亥','庚子','辛丑','壬寅','癸卯',
'甲辰','乙巳','丙午','丁未','戊申','已酉','庚戌','辛亥','壬子','癸丑',
'甲寅','乙卯','丙辰','丁巳','戊午','已未','庚申','辛酉','壬戌','癸亥'
);
就是所谓的六十甲子。
回复内容:
$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 判断超出各自总数则回到第一个 基本上就这个思路去写就可以了