1
1
"use strict" ;
2
2
//用于跟寿星万年历进行比对
3
3
//使用方法: 在寿星万年历的 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 ) {
5
7
var script = document . createElement ( 'script' ) ;
6
8
script . type = 'text/javascript' ;
7
9
script . charset = 'UTF-8' ;
@@ -17,7 +19,8 @@ function loadJS(url, callback) {
17
19
callback ( ) ;
18
20
} ;
19
21
}
20
- script . src = url ;
22
+
23
+ script . src = window . src + js ;
21
24
document . getElementsByTagName ( 'head' ) [ 0 ] . appendChild ( script ) ;
22
25
}
23
26
function log ( o ) {
@@ -148,7 +151,7 @@ function go2(){ //˷
148
151
}
149
152
150
153
var [ year ] = p . Jtime ( A [ 0 ] ) ;
151
- var B = p . GetSMsinceWinterSolstice ( year + 1 , true ) ;
154
+ var [ MC , B ] = p . GetZQandSMandLunarMonthCode ( year + 1 ) ;
152
155
for ( var j = 0 ; j < 16 ; j ++ ) {
153
156
var [ yy , mm , dd , hh , mt , ss ] = p . Jtime ( A [ j ] ) ;
154
157
var [ yy2 , mm2 , dd2 , hh2 , mt2 , ss2 ] = p . Jtime ( B [ j ] ) ;
@@ -198,7 +201,7 @@ function go3(){ //619-01-21
198
201
199
202
for ( var jd = 1947148 ; jd <= 2561118 ; jd += 1 ) {
200
203
var [ yy , mm , dd ] = p . Jtime ( jd ) ;
201
- var jdnm = p . GetSMsinceWinterSolstice ( yy , true ) ;
204
+ var [ MC , jdnm ] = p . GetZQandSMandLunarMonthCode ( yy + 1 ) ;
202
205
203
206
for ( var i in jdnm ) {
204
207
jdnm [ i ] = Math . floor ( jdnm [ i ] + 0.5 ) ;
@@ -239,12 +242,11 @@ function go3(){ //619-01-21
239
242
log ( tjd ) ;
240
243
log ( tjd2 ) ;
241
244
}
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 ( ) { //逐日与寿星万年历比较农历日期
244
247
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年
248
250
for ( var i = 0 ; i < 31 ; i ++ ) {
249
251
lun . lun [ i ] = new Object ( ) ;
250
252
}
@@ -269,37 +271,42 @@ loadJS('../../js/jquery-3.6.0.min.js', function(){
269
271
r2 = true ;
270
272
}
271
273
var flag = true ;
272
- if ( ob . yi != y2 ) {
274
+ if ( ob . yi != y2 ) { //农历年份
273
275
flag = false ;
274
276
}
275
- if ( ob . ym != m2 ) {
277
+ if ( ob . ym != m2 ) { //农历月份
276
278
flag = false ;
277
279
}
278
- if ( d != d2 ) {
280
+ if ( d != d2 ) { //农历日期
279
281
flag = false ;
280
282
}
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 ) { //农历,该月多少天
282
290
flag = false ;
283
291
}
284
-
285
292
if ( a . y > - 104 ) { //这之后的才能逆转
286
293
var [ y3 , m3 , d3 ] = p . Lunar2Solar ( y , m , d , r ) ;
287
294
if ( ( y3 != a . y ) || ( m3 != a . m ) || ( d3 != a . d ) ) {
288
295
log ( "出错: 农历不能逆转." ) ;
289
296
flag = false ;
290
297
}
291
298
}
292
-
293
- //log("公历:"+a.y+"-"+a.m+"-"+a.d+":::::::::寿星:"+y2+"-"+m2+"-"+d2+":::::::::本尊:"+ob.yi+"-"+ob.ym+"-"+d+"-"+r+"::::"+flag);
294
-
299
+
295
300
if ( flag == false ) {
296
301
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 ) ;
298
303
299
304
break ;
300
305
}
301
306
302
- for ( var h = 0 ; h <= 24 ; h += 1 ) {
307
+ continue ;
308
+
309
+ for ( var h = 0 ; h <= 24 ; h += 1 ) { //逐时对比四柱
303
310
var ob = new Object ( ) ;
304
311
305
312
var jd = JD . JD ( a . y , a . m , a . d + h / 24 ) ;
0 commit comments