Skip to content

Commit 98de26e

Browse files
author
hkargv
committed
农历与寿星万年历一致[-720年至2300年]
1 parent 7fbf701 commit 98de26e

File tree

5 files changed

+395
-505
lines changed

5 files changed

+395
-505
lines changed

js/diff.js

+26-19
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
"use strict";
22
//用于跟寿星万年历进行比对
33
//使用方法: 在寿星万年历的 sxwnl/source/index.htm 页脚加入 <script language="javascript" src="../../js/diff.js"></script> 浏览器中打开开发者工具,浏览 https://....sxwnl/source/index.htm
4-
function loadJS(url, callback) {
4+
5+
window.src = document.currentScript.src + "/../";
6+
function loadJS(js, callback) {
57
var script = document.createElement('script');
68
script.type = 'text/javascript';
79
script.charset = 'UTF-8';
@@ -17,7 +19,8 @@ function loadJS(url, callback) {
1719
callback();
1820
};
1921
}
20-
script.src = url;
22+
23+
script.src = window.src + js;
2124
document.getElementsByTagName('head')[0].appendChild(script);
2225
}
2326
function log(o){
@@ -148,7 +151,7 @@ function go2(){ //˷
148151
}
149152

150153
var [year] = p.Jtime(A[0]);
151-
var B = p.GetSMsinceWinterSolstice(year+1, true);
154+
var [MC, B] = p.GetZQandSMandLunarMonthCode(year+1);
152155
for(var j=0; j<16; j++){
153156
var [yy, mm, dd, hh, mt, ss] = p.Jtime(A[j]);
154157
var [yy2, mm2, dd2, hh2, mt2, ss2] = p.Jtime(B[j]);
@@ -198,7 +201,7 @@ function go3(){ //619-01-21
198201

199202
for(var jd = 1947148; jd <= 2561118; jd += 1){
200203
var [yy, mm, dd] = p.Jtime(jd);
201-
var jdnm = p.GetSMsinceWinterSolstice(yy, true);
204+
var [MC, jdnm] = p.GetZQandSMandLunarMonthCode(yy+1);
202205

203206
for(var i in jdnm){
204207
jdnm[i] = Math.floor(jdnm[i] + 0.5);
@@ -239,12 +242,11 @@ function go3(){ //619-01-21
239242
log(tjd);
240243
log(tjd2);
241244
}
242-
loadJS('../../js/jquery-3.6.0.min.js', function(){
243-
loadJS('../../js/paipan.js', function(){ //逐日与寿星万年历比较农历日期
245+
loadJS('jquery-3.6.0.min.js', function(){
246+
loadJS('paipan.js', function(){ //逐日与寿星万年历比较农历日期
244247
var ym = SSQ.ym.slice(2);
245-
246-
p.debug = true;
247-
for(var Y=2000,M=1; Y <= 2010; M++){//break; //公历转农历支持-721年至2300年,公农历互转支持-104年至2300年
248+
249+
for(var Y=2000,M=1; Y <= 2000; M++){//break; //公历转农历支持-721年至2300年,公农历互转支持-104年至2300年
248250
for(var i = 0; i < 31; i++) {
249251
lun.lun[i] = new Object();
250252
}
@@ -269,37 +271,42 @@ loadJS('../../js/jquery-3.6.0.min.js', function(){
269271
r2 = true;
270272
}
271273
var flag = true;
272-
if(ob.yi != y2){
274+
if(ob.yi != y2){ //农历年份
273275
flag = false;
274276
}
275-
if(ob.ym != m2){
277+
if(ob.ym != m2){ //农历月份
276278
flag = false;
277279
}
278-
if(d != d2){
280+
if(d != d2){ //农历日期
279281
flag = false;
280282
}
281-
if(r != r2){
283+
if(r != r2){ //是否闰月
284+
flag = false;
285+
}
286+
if(ob.gz != a.Lyear3){ //农历干支纪年
287+
flag = false;
288+
}
289+
if(ob.days != a.Ldn){ //农历,该月多少天
282290
flag = false;
283291
}
284-
285292
if(a.y > -104){ //这之后的才能逆转
286293
var [y3, m3, d3] = p.Lunar2Solar(y, m, d, r);
287294
if((y3 != a.y) || (m3 != a.m) || (d3 != a.d)){
288295
log("出错: 农历不能逆转.");
289296
flag = false;
290297
}
291298
}
292-
293-
//log("公历:"+a.y+"-"+a.m+"-"+a.d+":::::::::寿星:"+y2+"-"+m2+"-"+d2+":::::::::本尊:"+ob.yi+"-"+ob.ym+"-"+d+"-"+r+"::::"+flag);
294-
299+
295300
if(flag == false){
296301

297-
log("公历:"+a.y+"-"+a.m+"-"+a.d+":::::::::寿星:"+y2+"-"+m2+"-"+d2+":::::::::本尊:"+ob.yi+"-"+ob.ym+"-"+d+"-"+r+"::::"+flag);
302+
log("公历:"+a.y+"-"+a.m+"-"+a.d+":::::::::寿星:"+y2+"-"+m2+"-"+d2+r2+a.Lyear3+":::::::::本尊:"+ob.yi+"-"+ob.ym+"-"+d+"-"+r+ob.gz+"::::"+flag);
298303

299304
break;
300305
}
301306

302-
for(var h = 0; h <= 24; h += 1){
307+
continue;
308+
309+
for(var h = 0; h <= 24; h += 1){ //逐时对比四柱
303310
var ob = new Object();
304311

305312
var jd = JD.JD(a.y, a.m, a.d + h / 24);

0 commit comments

Comments
 (0)