-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathQREKI.DOC
2933 lines (2228 loc) · 145 KB
/
QREKI.DOC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
旧暦計算サンプルスクリプト Rev 1.1 説明書
1. はじめに
まずは、ダウンロードしていただきましてありがとうございます。 本サンプル
スクリプトは、 任意の日付(新暦)に対する旧暦と六曜を計算して、出力すると
いうものです。機能としてはこれだけで、 このほかは特にこれといって何もあり
ません。
このままでは、 あまりに粗末なので胸を張って『旧暦計算スクリプト』と言えま
せんので、『サンプルスクリプト』と名称をつけました。 皆さんの創意工夫によ
って、 より良いプログラムに育ててやって下さいませ。 本サンプルスクリプト
が、その足掛かりになれば幸いと存じます...。
この説明書は、 『サンプルスクリプト』の参考資料として作成しました。 ま
た、 本サンプルスクリプトの動きを理解するために必要な旧暦の計算方法や暦に
関する知識などを解説します。
本スクリプトは、MS-DOS版のjgawk 2.11.1 + 3.0 および 2.15.2 + 1.1で動作
確認しました。[*1](jgawk は、serow氏によって配布されているGNU awk 日本語
(shift-jis)対応版です。)他の版では、 「たぶん動作するでしょう...」としか
言えません。何しろ、動作確認していませんので。(悪しからず...)
なお、jgawkは本アーカイブには含まれておりません。お持ちでない方は実行形式
は以下の場所にありますので、2.11.1 + 3.0 または 2.15.2 + 1.1のいずれかを
ダウンロードなさって下さいませ。 (私は、NIFTYとascii-netのIDしかありませ
んので、他のNETについては解りません。)
NIFTY-serve ascii-net のIDを持ちでない方は、月刊ASCII 1993月6号のお楽し
みディスクを探してみてください。
もしも、見つかったならば \JGAWK\JGA_EXE.LZH を展開し、JGAWK.EXE と言う名
称の ファイルがありますのでこれ使用します。
(jgawk2.11.1+3.0(MSDOS,SJIS)が収録されている)
NIFTY-Serve:
jgawk 2.15.2 + 1.1 フルセット ...
FGALEL/LIB 12 #29 93/09/30 267466 B JGAWK11 .LZH
jgawk2.11.1+3.0(MSDOS,SJIS)...
FGALAP/LIB 7 #268 92/12/25 185212 B JGA_EXE .LZH
--------- + ---------
ascii net (POOL MS-DOS):
Japanized Gnu Awk (jgawk) 2.15.2 + 1.1 ,..
7116 jgawk11.lzh B pcs19614 93/09/25 267466
jgawk 2.11.1 + 3.0 MSDOS executable ...
6195 jga_exe.lzh B pcs19614 92/12/24 185212
note:
[*1] 動作確認方法について
以下の3点の項目について試験を行いました。
その1:任意の日付を何ヶ所か与えて計算させて答えが正しい事。 答えの
比較は『暦の百科事典』の掲載された値と行う。
その2:1600年1月1日(グレゴリオ暦法による日付)から、 1899年12月31
日まで91日(約4分の1年に相当する)を増分として、 新暦の暦日を与えて旧
暦の日付を計算させ計算過程で使用する朔日行列が正常に生成される事。
(「朔日行列」の内容については後述いたします)
その3:1873年1月1日(グレゴリオ暦法による日付)から、 2099年12月31
日まで1日(つまり、毎日)を増分として、 新暦の暦日を与えて旧暦の日付
を計算させ結果が正しく表示されている事。
確認試験の結果でわかっている罵愚は、 2224年 3月21日から、同年 4月18
日の期間(グレゴリオ暦法による日付)の月名が間違って表示する現象が確
認されています。 具体的には、 正しい答えが3月であるのに対して、 閏2
月と表示する現象です。中気の計算に問題があると判明していますが、 今の
所、良い対策方法が見つかりませんので、そのままにしてあります。
試験で見つかったのは以上の1点のみで、 その外については問題が無い事
を確認しました。
2. 起動方法
計算する日付を与えて計算させる方法と、 システム時計の日付を使って計算さ
せる方法があります。以下の例を参考にして下さい。
実行時間がものすごくかかるので、(PC-9801DA(386DX)、jgawk 2.11.1+3.0
で、 約20秒かかる)「おや?ハングアップしたのかなぁ~」と思わないで下さ
い。はっきり言って効率の悪いアルゴリズムが原因です。
1,日付を与えて計算させる方法
たとえば、1994年11月8日の旧暦を求める場合には、以下のように入力します。
A:\>jgawk -fqreki.awk 1994 11 8
西暦1994年 11月 8日は、旧暦1994年 10月 6日 先負です。
2,システム時計の日付を使って計算させる方法
A:\>jgawk -fqreki.awk
西暦1994年 5月 1日は、旧暦1994年 3月 21日 大安です。
(システム時計は、5月 1日と仮定)
3. 旧暦とは...
日本で一般的に旧暦といいますと、明治 5年(1972年)に改暦される以前に使
われていた天保暦法[*2]をさします。 以降の説明では単に旧暦と言った場合に
は、「天保暦法」による「こよみ」をさすと考えて下さい。
本スクリプトでは、太陽や月の位置を計算する方法や使用する定数が、 天保暦
法で規定されたものと違います。 それでは、「ニセモノ」と呼ばれそうですが旧
暦と言っているのはほとんど全て(といって間違い無い)がこのようなもので
す。 (いい加減と言えばいい加減とは思いますが、 一般に広まってしまったた
め、いまさら昔のやり方に戻す訳にもいかないでしょう...)
天保暦で規定された方法との相違点を列挙いたしますと...
i 中気[ちゅうき]の時刻や、朔[さく]の時刻を計算する方法の違い。
天保暦が使用されていた当時は、経験的に知られていた定数・周期に基づい
て計算されていました。(中気、朔についての説明は『旧暦の計算に関連す
る用語の説明』のところで行います)
本スクリプトでは天体力学に基づく略算式(計算方法については後述いたし
ます)を使用して計算しています。
ii 時刻制度の違い。
天保暦が使われていた当時は、 京都における真太陽時(真太陽時と言うの
は、おおざっぱに言って、日時計が示す時刻と同じです。当時、真太陽時が
あったという訳ではなくて、現代流に解釈した場合にこれに該当すると言う
話です。)を使用していました。
本スクリプトでは、 日本標準時(詳しい内容については、 後述いたしま
す。)を使用しています
このため、 天保暦法で規定された方法・定数に従って厳密に計算した日付と(場
合によっては)1日前後したり、月の大小が異なる可能性があります。
note:
[*2] 天保暦法[てんぽうれきほう]は西暦1844年 2月18日(旧暦の弘化元年正
月朔日)から西暦1872年12月31日(旧暦の明治 5年12月 2日)まで実施され
ました。なお、現在の太陽暦の実施は、西暦1873年 1月 1日からであったた
め旧暦の明治 5年(1872年)12月はたったの 2日しかありませんでした。
4. 閏月[うるうつき]と太陰太陽暦について
天保暦法は一般的に、 太陰太陽暦に分類されています。太陰太陽暦は、日付を
月の満ち欠け(朔望[さくぼう]とも言う)の周期を基準として、 月名を1年の
周期を基準として作られた暦です。
すなわち、 月の満ち欠けの周期(さくぼうげつ=朔望月)は平均 29日半(29.
530589日)で、この12倍が 1年に近い事をもとにして組み立てられています。
12 朔望月 = 29.530589 [日]* 12 [ヶ月]
= 354.36706 [日]
ところが、このまま(旧暦の)1年を 354日または 355日としたのでは、 1年当
たりで10日ないし11日も日付が違ってきてしまいます。 このまま何もせずに誤差
をため込んでおくと、約 3年で 1月分に相当するため[*3]、1年を 13ヶ月として
暦と季節のずれを解消していました。 (仮に、何もせずそのものにしておくと次
第に季節と月名が合わなくなってしまい、1月だというのに真夏といった、奇妙な
現象を体験する事になります。)
暦と季節とを合わせるために、挿入した 1ヶ月を閏月[うるうつき]と呼んでい
ます。 閏月の月名は、前月の月名の前に「閏」をつけて、閏XX月のように呼びま
す。(閏月の置き方の規則は、後述します。)このように、 閏月によって季節と
合わせていた暦が太陰太陽暦です。
note:
[*3] 以下の計算により、3年間の誤差が32日ないし33日となります。旧暦では、1
ヶ月を29日(小の月)又は 30日(大の月)としていましたので、閏月のある
年は 1年を13ヶ月としていました。
3*(太陽年) = 3[年]* 365.2422[日]
= 1095.7266 [日] ...... A
3*(12 朔望月)= 3[年]* 12 [ヶ月]* 29.530589 [日]
= 1063.101204 [日]..... B
A - B = 1095.7266 [日]- 1063.101204 [日]
= 32.625396 [日]
5. 「こよみ」について
「こよみ」といいますと、 一般的にはカレンダーや日めくりとか運勢暦などを
連想する方が多いと思います。中国では、古くから天体の位置(月、太陽、 惑星
etc...)を掲載した書物も「こよみ」と呼んでいました。 中国から暦を輸入して
来た日本でも、同様です。(本説明書では、 天体に位置などを掲載した書物を特
に『天体暦』と言って一般の「こよみ」とは区別する事にします。)
6. 月齢について
よく旧暦の日付と月齢を混同なさる方がおられますが、 この二つは定義が違い
ますので、全く別物です。
ここでは、月齢がどのようにして決められているのか、 簡単に紹介しておく事に
しておきます。
月齢は新月から当日の正午(日本標準時)までの時間を、 「日」の単位で表し
たものです。例えば、1994年 5月 1日の場合について計算してみますと...
月齢=(計算対象の時刻)-(新月の時刻)
= 1994年 05月 01日 12時 00分 -1994年 04月 11日 9時 18分
= 20日 02時間 42分
= 20.1125
といった訳で答えは、20.1日となります。
さらにもうひとつ、満月が必ず旧暦の15日とは限りませんし、 月齢14日と
も限りません。 これらの数はあくまで平均値で、時よって±2日位の間で変化し
ています。
7. 六曜について
いわゆる「先勝・友引・先負・仏滅・大安・赤口」の六つの繰り返しの事で
す。『暦の百科事典』によれば...
六曜とは、六曜星の略で、六輝[ろっき]とも言う。江戸時代の暦書では、 孔
明六曜星等と記されていた。 もともとは時刻の吉凶占いに用いられて来たが、こ
れが日の吉凶を占うものとなった。
孔明六曜星と呼ばれることからもわかるように、この六曜は三国史の名将 諸葛亮
孔明が発明したものと伝えられる。 孔明はこの六曜星を使って軍略をたてたとこ
ろ、 こととごとく成功したという。しかし、戦国時代から六曜があったかは疑わ
しい。後世のこじつけというのが定説である。
六曜の起源についてはよくわかっていない。たぶん、 もともと一ヶ月を五で割
り六日づつの小単位をつくり、 その日を数えるためのものであったのではないか
と考えられる。すなわち、日の吉凶を示すものではなく、七曜と同じように、 単
に日を数えるための記号であったのではないかと考えられる。
とはいっても、 中国で発生したものには違いなく、日本へは鎌倉末期から室町
時代に伝わったと考えられる。 これがどうしたものか、 江戸時代の終わり頃か
ら、民間でひそかに流行し始めた。
そして、明治の太陽暦が実施されるに及んで、皮肉なことに、 この六曜が「おば
け暦」[*4]として、 人々の口々にのぼるようになり、第二次世界大戦後になって
大流行し、現在にいたっている。
六曜の吉凶を良く調べてみると、一つの特徴がある。それは、 勝負事にこだわ
っている点である。 おそらく、始めのうちは、遊郭や賭場などの遊び人、勝負師
の間で使われていたのだろうと言う説もある。
note:
[*4] おばけ暦というのは、明治時代以降、 旧暦や様々な暦注([れきちゅう]
日の吉凶などを記したものを言う。)を記載した民間出版の暦の事です。 当
時、 暦は伊勢神宮が発行していた「神宮暦」のみが官暦として認めらてい
て、 これ以外の暦については偽暦として処罰の対象となっていた。 (大東
亜戦争が終わるまで続いた。)そこで、処罰を逃れるために、 偽名を使いも
ぐりで出版したり毎年発行所をかえたりしていたため、 「正体がはっきりし
ないもの」と言う意味でそう呼ばれるようになりました。
どうして、「おばけ暦」が流行ったかと言いますと、 当時の官暦では迷信
の排除という名目で、 一切の暦注を削除してしまったためといわれていま
す。
---------- + ----------
六曜の選日法は、 旧暦の各月の朔日[ついたち]を「先勝・友引・先負・仏滅
・大安・赤口」のうち何れかを配し、 翌日の2日から晦[*5]まで先の順番で繰っ
て行く事になっています。従って、月が変わるとその前後で、 順番が狂う事があ
ります。 また、閏月の場合には、前月と同じ規則で計算します。(例えば、閏3
月朔日では3月と同じく、先負となります。)どの月が何にあたるのかは、 以下
の表を参照して下さい。
note:
[*5] 晦[つごもり]:月末の事で、旧暦では29日(小の月)または、 30日
(大の月)になります。 晦の頃、 月は太陽の近くにあるため見えないの
で、 「つきこもり」と言う所から来たとの事です。
+---------------------------------+
| 月 | 六曜 |
|--------------------+------------|
| 1、7月朔日 | 先勝 |
|--------------------+------------|
| 2、8月朔日 | 友引 |
|--------------------+------------|
| 3、9月朔日 | 先負 |
|--------------------+------------|
| 4、10月朔日 | 仏滅 |
|--------------------+------------|
| 5、11月朔日 | 大安 |
|--------------------+------------|
| 6、12月朔日 | 赤口 |
+---------------------------------+
本スクリプトでは、[旧暦の月]+[旧暦の日]-2 を6で割った剰余(あま
り)の値をみて、零なら先勝、1なら友引.... といった具合で計算しています。
以下に六曜の吉凶の説明をします。 念のため、[]の中に一般的な読み方を記
入しておきました。
7.1 先勝[せんかち]
先づれば即ち勝つ、の意。もともとは、速喜とか、 則吉などと書かれていたの
で、 「早ければ吉」・「急ぐ事良し訴訟事良し」などどと言われている。また、
午前中は吉で午後悪しとされている。
7.2 友引[ともびき]
凶事に友を引く、の意。古くは、「勝負無き日と知るべし」とあるので、 もと
もとは何事も引き分けで、勝負のつかぬ日とされていた。
どの暦の解説にも、 「この日に葬儀を出す事はつつしむべし」とある。また、朝
晩は吉で正午のみ凶とされている。
7.3 先負[せんまけ]
先勝の逆で、先づれば即ち負ける、の意。従って、 勝負事や急ぐ事はなるべく
避けて、相手の出方を待つのが良いとされている。
また、朝から昼までは凶で、昼すぎから日暮れまでは吉とされている。
7.4 仏滅[ぶつめつ]
仏も滅するような最悪の日、 の意。この日は、六曜の中でも大凶とされ、祝い
事、法事など何事もうまく行かない日と言われている。
また、移転・開店なども忌み禁じられている。最近では、 葬式に関しては友引の
み忌み嫌われるが、なぜか仏滅に葬式を出してもいっこう平気である人が多い。
7.5 大安[たいあん]
大いに安し、 の意。大安吉日とも称され、万事に用いても吉とか、成功せざる
事なき日とされている。
こんな所から、大変めでたい日とされ、結婚式の日となった。
7.6 赤口[しゃっく]
赤舌日[しゃくぜつにち]とも称され、 大工・板前など刃物を扱う職業の人達
は、 要注意とされていた。また、赤が火を連想される所から、「火の元に注意せ
よ」とも言われていた。
この日は、午の刻(現在の時刻で12時~14時頃)だけが吉、 その外は凶とされ、
特に祝い事は大凶とされていた。
8. 旧暦の計算に関連する用語の説明
ここでは、旧暦の計算方法を説明する際に出てくる用語の説明をします。
8.1 黄道[こうどう]
地球から、 太陽・惑星を見ると決まった道筋を動いているようにみえます。こ
の道筋を黄道と呼んでいます。惑星は、 太陽を焦点としてある平面(これを軌道
面という)を公転しています。 (地球の)軌道面と天球[*6]と交わる線を黄道と
いいます。従いまして、太陽は黄道にそって移動ているように見えます。 また、
地球の赤道を無限に延長し、天球と交わった線を赤道と言います。
こよみを作る時には、 天が動いていると考えた方が、都合の良い事が多いため
以降の説明では、 太陽等が地球の回りを回っているような『天動説的』表現をす
る場合があります。
note:
[*6] 半径が無限遠の球に、 星がはりついていると考えた時に、 この球を天文の
分野では、天球[てんきゅう]といいます。
8.2 春分点[しゅんぶんてん]
黄道と、 赤道との交点で、春分の日に太陽がこの位置にあるためこう呼んでい
ます。春分点は、黄経の原点となるため、重要な意味を持っています。
8.3 黄経[こうけい]
月や太陽の位置を、表す座標の値で、 春分点を原点として黄道を基準に測った
経度を言います。東回りに測り、0度~360度の値をとります。
たとえで言いますと、 英国のグリニジ天文台の子午儀跡を原点として赤道を基準
に測った角度を東経(西経)XX度と言うのと同じようなものです。
また、黄道を基準として北極(または、 南極)の方向へ測った緯度を黄緯[こ
うい]といいます。 北側を正、南側を負の符号をつけ0度~90度の値をとりま
す。これは、北緯(または、南緯)に対応したものです。
旧暦を計算する際に朔の時刻を求めるために、 月や太陽の黄経の値を計算しま
すが、 本来のやり方では(月や地球の)軌道計算を行って求める事になります。
軌道計算は、 そう簡単にはできる代物ではありませんので本スクリプトでは、
『天体位置略算式の解説』(井上圭典、 鈴木邦裕 著 海文堂出版)と言う文献
に、軌道計算の数式解を使用した略算式があるので、 これを利用して求めていま
す。
余談になりますが、 「経」、「緯」は織物の経[たていと]と緯[よこいと]
から来ているそうです。 (メルカトル図法の地図(経線と緯線が地図のどこでも
垂直に交わっている地図)を見るとその事が良く解ると思います。
8.4 朔[さく]
朔と言うのは新月の事です。 旧暦では朔を含む日を朔日としています。朔の時
には、太陽と同じ方向に月があるため見えません。 (これは月と太陽が重なって
見えると言う事ではない点に、 注意しなくてはいけません。仮に完全に重なって
見えた場合には、皆既日蝕または金環日蝕となります。)
天体暦の定義では、 月と太陽の黄経の差が零となる瞬間(これを黄経の合[ご
う]といいます。)とされています。 本スクリプトでも天体暦と全く同じ定義を
採用しています。
8.5 二十四節気[にじゅうしせっき]、中気[ちゅうき]
もともとは、暦の日付と季節のずれを知る目安として作られ、 1年を24等分
して約15日毎に区切っていました。
天保暦になってからは、 太陽黄経が15度の倍数になる日と定義が変わりまし
た。1年間で太陽の黄経は360度変化しますので、 これを24等分すると確か
に15度となりますが、中気と中気との時間は均等に配分されません。
太陽の黄経の変化は地球が太陽の回りを回る公転運動の結果によって起こるの
ですが、 楕円軌道上を運動しているためと、他の惑星の引力によって地球の公転
運動が乱される(これを、摂動[せつどう]と言います)ため、 わずかではあり
ますが運動の早さに遅速がでてきます。 (以下に示す計算例を参照して下さい)
このため、太陽の黄経の変化は一様とならず、 中気と中気との時間は均等になら
ない訳です。
二十四節気のうち、 太陽黄経が30度の倍数になる日を中気[ちゅうき]とい
い、その他を節気[せっき]と言います。(天保暦以前の中気は、 1年を12等
分して約30日毎に区切ったものを使用していた)暦と季節とを合わせるため
に、 閏月を挿入しますがその目安に使用するのが中気です。天保暦以前の暦法で
は、中気が無い月を閏月にしていました。
天保暦法になってからは、中気と中気の間隔が不等になったうえに、 中気と中気
との間隔が1朔望月の長さ(平均29.530589日)と比較して短く[*7]なる場合があ
ります。 このため、朔と朔の間に中気が2度訪れてしまいその前後に(本来は閏
月ではないのに)中気の含まない月が出現する可能性が出て来てました。
このため、天保暦法では二分二至を含む月を必ず、 2月・5月・8月・11月と
決め、 この拘束条件のもとで中気の含まない月を閏月としています。従って、中
気が無いからといって直ちに閏月とはなりません。このあたりが、 閏を置く規則
を複雑にしていると言えます。
もともと中気は、 暦日と季節のずれを知る目安に過ぎませんので、1年を12等
分して約30日毎に区切るだけで十分に役目を果たすのに、 天保暦法の作成者は
中気の決め方を改悪し、 閏月の置き方を複雑にしてしまったのではないでしょう
か?
さて愚痴はともかく、二十四節気と太陽黄経の対応表を以下にしめします。 こ
の中で、 春分・秋分・夏至・冬至の4つは特に、二分二至と言います。(なお、
立春・立夏・立秋・立冬の4つを四立[よんりつ]と言います。)
note:
[*7] 地球が太陽に最も近づく地点(近日点[きんじつてん])付近で起こる。
今年(1994年)の近日点通過は、1月 2日でした。近日点とは逆に太陽に最も
遠くなる地点を遠日点[えんじつてん]と言います。
+-----------------------------------------------------------------+
|黄経| 二十四節気名称 |節/中|月名|黄経| 二十四節気名称 |節/中|月名|
|----+----------------+-----+----+----+----------------+-----+----|
| 0| 春分[シュンブン] | 中 | 2 | 180| 秋分[シュウブン] | 中 | 8 |
|----+----------------+-----+----+----+----------------+-----+----|
| 15| 清明[セイメイ] | 節 | | 195| 寒露[カンロ] | 節 | |
|----+----------------+-----+----+----+----------------+-----+----|
| 30| 穀雨[コクウ] | 中 | | 210| 霜降[ソウコウ] | 中 | |
|----+----------------+-----+----+----+----------------+-----+----|
| 45| 立夏[リッカ] | 節 | | 225| 立冬[リットウ] | 節 | |
|----+----------------+-----+----+----+----------------+-----+----|
| 60| 小満[ショウマン] | 中 | | 240| 小雪[ショウセツ] | 中 | |
|----+----------------+-----+----+----+----------------+-----+----|
| 75| 芒種[ボウシュ] | 節 | | 255| 大雪[タイセツ] | 節 | |
|----+----------------+-----+----+----+----------------+-----+----|
| 90| 夏至[ゲシ] | 中 | 5 | 270| 冬至[トウジ] | 中 | 11 |
|----+----------------+-----+----+----+----------------+-----+----|
| 105| 小暑[ショウショ] | 節 | | 285| 小寒[ショウカン] | 節 | |
|----+----------------+-----+----+----+----------------+-----+----|
| 120| 大暑[タイショ] | 中 | | 300| 大寒[ダイカン] | 中 | |
|----+----------------+-----+----+----+----------------+-----+----|
| 135| 立秋[リッシュウ] | 節 | | 315| 立春[リッシュン] | 節 | |
|----+----------------+-----+----+----+----------------+-----+----|
| 150| 処暑[ショショ] | 中 | | 330| 雨水[ウスイ] | 中 | |
+-----------------------------------------------------------------+
近日点付近の中気の間隔(冬至~大寒)と、遠日点付近の中気の間隔(夏至~
大暑)の時間を表にしました。計算は、1994年の値を本スクリプトのサブルーチ
ンを使用して行いました。近日点付近では、 中気と中気の間隔が1朔望月の時間
(29.530589日 = 29日12時間44分)よりも短いことが解ると思います。
+-------------------------------------------------+
|冬至| 1993/12/22 | 5:26 | |
|----+----------------+----------+----------------|
|大寒| 1994/ 1/20 | 16: 8 | 29日 10時間42分|
|----+----------------+----------+----------------|
| | | | |
|----+----------------+----------+----------------|
|夏至| 1994/ 6/21 | 23:46 | |
|----+----------------+----------+----------------|
|大暑| 1994/ 7/23 | 10:40 | 32日 10時間54分|
+-------------------------------------------------+
8.6 ユリウス日(ユリウス通日[つうじつ])
暦の計算等で、 数年間にわたる2点の日数を計算するために年代学や天文学の
分野で用いられています。原点は、BC4713年 1月 1日(ユリウス暦法を使用して
遡って決めた)で、この日から(太陽暦で)連続して数えられています。
BC4713年がどうして原点になったのかと言いますと、 以下の周期の最少公倍数
(7980年)をとり各周期の第1年目にあたる年としたためです。しかし、 7980年
を経過したらまた1から数えなおすと言う規定は無いようです。
i 太陽章(28年)ある日の七曜が同じとなる周期です。
ii 太陰章(19年)ある日の月の欠け方(正確には月の位相)が同じとなる周
期です。(メトンと呼ばれている周期)
iii インディクション(15年)徴税額査定更正周期で、中世の暦を研究する際
に西暦年号を確定するのに使用されている。
ユリウス通日を計算すら際に注意しなくてはならないのは、 AD1582年10月 4日
(木)までは、 ユリウス暦法で日数を数えて、 その翌日(AD1582年10月15日
(金))以降はグレゴリオ暦法によって数える事になっています。
なお、 AD1582年10月 5日から、 AD1582年10月14日の10日間は、ユリウス暦法か
ら、 グレゴリオ暦法に改暦する際に日数を調整するために飛ばされましたので実
在しない日となっています。(なお、曜日については連続させています。)
ただし、 実際にはグレゴリオ暦法が採用された日は、(宗教上の理由等で)国よ
って異なるため、歴史上の日付に対するユリウス日を求める時には、 太陽暦で示
された暦日であっても、 ユリウス暦法によるものかグレゴリオ暦法によるものか
を、常に意識しなければいけません。
また、欧州で旧暦というとユリウス暦法による暦日をさします。
両者とも同じ太陽暦なのですが、閏年の置き方が若干異なっています。 ユリウ
ス暦法では、 『西暦年数を4で割り切れる年を閏年とする。』としていました
が、グレゴリオ暦法では、『西暦年数を4で割り切れる年を閏年とするが、 10
0で割り切れる年については、 400で割り切れる年のみを閏年とする。』と改
正されました。
これでは、 「何の事かさっぱり解らんわ!」と言われそうなので、 1800,1900,
2000,2100年の4つの例のを挙げて考えてみましょう。
ユリウス暦法では4つの年とも(4で割り切れるため)閏年となりますが、 グレ
ゴリオ暦法では、2000年だけが400で割り切れるために閏年となり、そのほか年は
(400で割り切れないため)平年と言った具合になります。
もう少し詳しく説明いたしますと、1年の長さ(厳密には1太陽年と言って、太
陽が春分点に再び戻ってくるまでの時間の長さをいいます。)は、 以下のような
式であらわされます。
S = 365.24219878-6.14e-6 * T [日]
T は y を西暦年数とすれば、
T=(y-1900)/100 で与えられる。
この式は、ニューカムと言う天文学者が 19世紀末に発表した太陽の運動理論から
導かれたものです。この式によると、1太陽年の日数が年々短くなる傾向がありま
すが、(その主な原因は、 潮汐摩擦によって地球の自転角速度が減少することに
より1日の長さがのびるためです。)ここでは定数項の部分のみを注目し 1太陽
年の日数は一定として考えると、1年の長さは
365.24219878 [日]
であると言えます。 この値と、 ユリウス暦法による1年の長さを比較してみま
す。ユリウス暦法では、4年に1度だけ閏日を入れるので以下のようになります。
( 365*4 + 1 )/4 = 1461 / 4
= 365.25 [日]
一方、グレゴリオ暦法では、100で割り切れる年については、 400で割り切れる年
のみを閏年としますので、400年間で閏年は 97回となります。と言うのは、単に4
年に1度とすると、 400 年間で 100回となりますが、100で割り切れる年で、400
で割り切れない年が 400年間で 3回あるため3日少なくなると言う訳です。
したがいまして、グレゴリオ暦法による1年の長さは、以下の通りとなります。
( 365*400 + 100 - 3 )/400 = 146097 / 400
= 365.2425 [日]
以上の事から、 グレゴリオ暦法の方がユリウス暦法よりも真の1年の長さに近
いと言えます。
Y年M月D日(グレゴリオ暦法による日付)のユリウス日を求めるには、以下の式を
使用します。
JD=INT(365.25*Y)+INT(Y/400)-INT(Y/100)+INT(30.59*(M-2))+D+1721088
※ M<3 の場合には、Mに12を加え、Yから1を引いてから計算します。
また、INT()は () の中の整数部のみを取り出す関数です。
ユリウス日で、 日付と時刻を同時に示すため時刻を「日」の単位の小数で示す
場合があります。この場合には、 協定世界時(協定世界時の詳しい内容について
は、 あとで説明します。)よりも12時間の時差を持つ時刻(天文時)を使用す
る事になっています。 このため、 ユリウス日の1日の始まりが、 (協定世界時
の)0時ではなく、12時となっています。
例題として、 1994年5月1日3時(日本標準時)の場合について計算いたします
と、以下のようになります。
1994年5月1日 = 2449473
JD = 2449473 + (3/24) - (9/24) + (12/24)
= 2449473 + 0.125 - 0.375 + 0.5
= 2449473.25
なお本スクリプトでは、 天文時を使用していません。(私がデバックの目的で検
算した時に、12時間の時差がある事をしばしば忘れてしまい、 答えを間違えて
しまう事があったためと言う個人的な事情からと一般常識に合わせて、 夜の0時
に日替わりするということからそうしました。)これから示す数々の例題は、 ユ
リウス日の1日の始まりが、 (協定世界時又は、力学時の)0時ですので注意し
て下さい。
ユリウス日の簡単な応用として任意の日付(グレゴリオ暦法による日付)に対
する曜日を計算するというのがあります。
以下の式によって曜日番号を求めて、対応する曜日を得ます。
曜日番号 = ( JD+2 ) % 7
+-------------------------------------------+
| 曜日番号 | 曜日 | 曜日番号 | 曜日 |
|----------+----------+----------+----------|
| 0 | 日 | 4 | 木 |
|----------+----------+----------+----------|
| 1 | 月 | 5 | 金 |
|----------+----------+----------+----------|
| 2 | 火 | 6 | 土 |
|----------+----------+----------+----------|
| 3 | 水 | ---- | ---- |
+-------------------------------------------+
例えば、1994年5月1日では、以下のように計算します。
1994年5月1日 = 2449473
曜日番号 = ( 2449473 + 2 ) % 7
= 0 ..... すなわち日曜日
といった具合です...。日の干支も、同様に計算できます。これは、本スクリプト
の説明の範囲を越えてしまうので、皆さんの練習問題としましょう。 (といって
逃げる...)
ユリウス暦の名の由来はローマ皇帝の名Julius Caearから、 ユリウス日の方は
考案者Jeseph Justus Scaligerの父の名Julius Caesar Scaligerから由来してい
ると言われ、名前の由来に関しては両者は無関係です。
8.7 日本標準時(JST)
放送やNTT等の時報で一般的に使用さている時刻です。 世界各地の時刻は、
協定世界時(UTC)と呼ばれる時刻の整数の時差(地域によっては30分の単
位の端数がつく事がある)をもつように決められています。 また、夏時間制(サ
マータイム)を採用している地域では、 夏時間と冬時間で時差を変えて実施して
います。 このような時刻を地方標準時と呼んでいます。日本標準時も地方標準時
の1つで、協定世界時との時差は+9時間です。すなわち、
JST=UTC+9 [時]
の関係があります。
余談ですが、理科年表などでは日本標準時の事を中央標準時と称しています。 そ
の理由としては、日本が台湾を占領していた頃に出された勅令により...
i 東経135度の子午線の時刻を中央標準時と定める
ii 東経120度の子午線の時刻を使用し、 これを西部標準時と定める(台湾や
宮古列島などで使用されていた。)
この勅令は、 昭和12年に別の勅令で西部標準時を削除される形で改正されました
が、 『中央標準時』と言う名称はそのまま残った形で現在に至っています。 な
お、現在でもこの時の勅令は生きていて一応、法的な根拠があるとのことです。
8.8 協定世界時(UTC=Coordinated Universal Time)
定義:国際単位系(SI単位系)で定められた秒(セシュウム原子時計による
1秒で原子秒と言います。)を刻み、 地球自転に基づく世界時1との差が一定の
範囲以内になるように管理された時刻。
定義にもあるように、 世界時1(UT1)と協定世界時との差(ΔUT1)
が、±0.9秒以内となるように管理され、これを越える場合には、1秒単位で時刻
の調整を行います。(これをステップ調整と言う。)
なお、±0.9秒と言うのは天体観測で経度を測定する場合(船舶・航空機の位置を
測定する場合など)に、 協定世界時を世界時とみなしても必要な精度を維持する
ことができる限界として決めらた値です。 また、 無線報時(日本の場合はJJ
Y)ではΔUT1の予測値を ±0.1sec の精度で信号化されていますので結局、
±0.1sec の精度でUT1とリンクしていると言えます。
1秒のステップ調整は、12月か6月の末日(第一優先)、3月か9月の末日(第二
優先)、必要とあれば任意の月の末日の最終秒(UTC)の後に挿入するか、 ま
たは最終秒を引き抜くことによって行われます。 この際挿入される1秒を「正の
閏秒[うるうびょう]」と言い、 引き抜かれる1秒を「負の閏秒」と言います。
閏秒の前後の秒の歩みは、以下のようになります...。
正の閏秒の場合
23:59:58 23:59:59 23:59:60 00:00:00 00:00:01 ...
~~~~~~~~
負の閏秒の場合
23:59:57 23:59:58 00:00:00 00:00:01 00:00:02 ...
^ 23:59:59が引き抜かれます。
8.9 世界時(UT=Universal Time)
定義:赤道上を一定の速度で運動している仮想の天体(これを平均太陽と言
う)と、 経度0度における時角(経度0度の子午線と平均太陽の角度)に12時
間を加えた値。
平均太陽は仮想天体なので、その南中を観測する事は出来ないので、 恒星の南
中を観測して、計算によって求められています。
各国の天文台が恒星の南中や、 天頂通過を観測して求められた世界時を世界時0
(UT0)と呼んでいます。この値は、 極運動[*8]による観測地点の経度変化が
含まれているため、 (観測誤差は別として同じ結果が求められるはずですが)観
測地によってまちまちの結果となります。 極運動の補正を行って観測地に依存し
ない一義的な世界時を、世界時1(UT1)と言います。
世界時1は、 瞬間自転軸に関する自転角度を基準として時刻を測っていると考え
る事ができます。従って、地球の自転の変化があると、 世界時1も同じように影
響を受けます。
以前は、 世界時1に季節的変化を補正した世界時を(世界時2=UT2)が一様
な時刻と考えられていましたが、時計の精度が向上すると、 地球の自転速度は一
定ではない事が解ったため、 時刻の基準として地球の自転を使用する事をやめま
した。
note:
[*8] 地軸に対して自転軸(最大慣性能率軸)が移動する現象。このため、 観測地
点の経緯度が変化している。
変動がある時刻では、天体暦の時刻引数として使用できません。 天体暦の時刻
引数は、 一様である事が前提となっているためです。たとえば、ある時刻に月が
この位置にあると言う事が、計算によって求められていても、 肝心の時刻が変化
してしまっては、正確に位置が指定できないのと同じ事になるためです。
このため、 天体暦の時刻引数として使用する時刻は、後述する力学時(TD)
を使用します。
天体観測で経度を測定する場合[*9]や日常生活には、 一様である時刻よりは地球
の自転角度に忠実な時刻を使用する方が重要です。 このため、実用的には国際単
位系(SI単位系)で定められた秒を刻み、 地球自転に基づく世界時(UT1)
との差が一定範囲以内になるように管理された時刻(協定世界時)を使用する事
になりました。
なお、 本スクリプトでは世界時1と協定世界時は等しいとみなして計算してい
ます。前に説明しましたように厳密には両者は全く異なるのですが、 本スクリプ
トで要求される精度では、 両者を等しいとみなしても特に問題にならない程度の
差のためです。もう一つは、ΔUT1が予測不可能な値であるためです。 (従っ
て、計算によって補正する事はできません。)
昔は、 世界時とは言わずに『グリニジ平均太陽時』(GMT=Greewich Meen
solar Time)と呼んでいました。今でも航海・航空関係の方々は、 習慣でこう呼
んでいます。
国際天文学連合で1976年にだされた決議では、 「科学的用法としては、GMTの
呼称をやめ、 詳しく言う時にはUT0・UT1・UT2・UTCを公式に用い区
別の必要が無い場合には単にUTと呼ぶ」となっています。
また、 「UTは、法的・通信・常用その他の用法で、最大精度が整数秒である場
合にはUTCの意味で用いられる事に注意し、 天文航法・陸地測量のための天体
暦の時刻引数としては、UT1の意味で使用する」となっています。
note:
[*9] 現在では、ロラン、デッカ、 オメガやGPSと言った電波航法だけを使用
するならば、 時刻はどんなものでも構いません。しかし、電波が受信できな
い場合などに備えて天体観測によって自分の位置を知る方法を残しておく必
要があります。 そのため、地球の自転角を示す世界時1が必要になってくる
というわけです。
8.10 力学時(TD=Dynamical Time)
天体力学理論や暦の時間引数として、 天体の位置を計算するために用いる時刻
です。本スクリプトでは、 太陽の黄経と月の黄経を計算する時に使用する時刻引
数として使用しています。
厳密には、 力学時にも太陽系重心を基準とした太陽系力学時(TDB)と、地球
の重心を基準とした地球力学時(TDT)の2種がありますが、 拙者は詳しい事
は解りませんし、 旧暦計算には関係無いと思われますので、説明は割愛いたしま
す。
おおざっぱに言って協定世界時との関係は、 世界時=協定世界時(ΔUT1=
0)と仮定しますと、
TD=UTC+ΔT
となっています。 ΔTは、両者の時刻の差で(1993年12月現在で)約60[秒]
となっています。この値は、正の閏秒が入ると1秒増やし、 負の閏秒が入ると1
秒減らす事になります。 前にも説明したとおり閏秒は地球の自転の状態によって
決るため、現在以降の値については、その時になってみないと解りません。 (今
の所は、だいたい毎年1秒づつ正の閏秒が挿入されている。)
また、 協定世界時の1秒間と力学時の1秒間は全く等しいです。と言うのは、両
者とも、原子秒を採用しているからです。
本スクリプトでは、ΔTのような不確定な値は無視(0秒として扱う)していま
す。したがいまして、 ΔTの値だけ実際の時刻とは異なった計算結果をはじきだ
している訳です。 (本来は、しかるべき補正式を使用して時刻を補正するべきで
しょうが、任意の時刻に対する補正値を計算できる式が見当たりませんので、 あ
えて補正しないことにしました。)
この事が、 本スクリプトの計算の結果にどのように影響するかと言いますと、実
際の朔や中気の日付と異なる可能性があります。その結果、 月の大小や月名(閏
月の位置が変わってしまった場合)を誤る可能性があります。 もっとも、このよ
うなケースは希ではありますが。(計算結果が、 たまたま日付の変わる時刻付近
だった場合には、 たとえ1秒の差であっても日付が違ってくる事を考えてくださ
い。)
参考までに1620~1992年の期間で、5年毎(1990.0~1992.0までは毎年)のΔT
を以下に載せておきます。出典は、 1620~1975年の期間における値は天体位置略
算式の解説 P17 から、それ以降の値は理科年表平成6年版の天83(167) からで
す。なお、理科年表の値は、 年央における値が掲載されていましたので補間を行
い、年初における値を計算しました。
+-------------------------------------------------------------------+
| 年 | ΔT | 年 | ΔT | 年 | ΔT | 年 | ΔT |
|--------+-------+--------+-------+--------+-------+--------+-------|
| 1620.0 | +124| 1720.0 | +11| 1820.0 | +12.0| 1920.0 | +21.16|
|--------+-------+--------+-------+--------+-------+--------+-------|
| 1625.0 | +102| 1725.0 | +11| 1825.0 | +10.2| 1925.0 | +23.62|
|--------+-------+--------+-------+--------+-------+--------+-------|
| 1630.0 | +85| 1730.0 | +11| 1830.0 | +7.5| 1930.0 | +24.02|
|--------+-------+--------+-------+--------+-------+--------+-------|
| 1635.0 | +72| 1735.0 | +12| 1835.0 | +5.8| 1935.0 | +23.93|
|--------+-------+--------+-------+--------+-------+--------+-------|
| 1640.0 | +62| 1740.0 | +12| 1840.0 | +5.7| 1940.0 | +24.33|
|--------+-------+--------+-------+--------+-------+--------+-------|
| 1645.0 | +54| 1745.0 | +13| 1845.0 | +6.3| 1945.0 | +26.77|
|--------+-------+--------+-------+--------+-------+--------+-------|
| 1650.0 | +48| 1750.0 | +13| 1850.0 | +7.1| 1950.0 | +29.15|
|--------+-------+--------+-------+--------+-------+--------+-------|
| 1655.0 | +43| 1755.0 | +14| 1855.0 | +7.6| 1955.0 | +31.07|
|--------+-------+--------+-------+--------+-------+--------+-------|
| 1660.0 | +37| 1760.0 | +15| 1860.0 | +7.88| 1940.0 | +33.15|
|--------+-------+--------+-------+--------+-------+--------+-------|
| 1665.0 | +32| 1765.0 | +16| 1865.0 | +6.02| 1965.0 | +35.73|
|--------+-------+--------+-------+--------+-------+--------+-------|
| 1670.0 | +26| 1770.0 | +16| 1850.0 | +1.61| 1970.0 | +40.18|
|--------+-------+--------+-------+--------+-------+--------+-------|
| 1675.0 | +21| 1775.0 | +17| 1875.0 | -3.24| 1975.0 | +45.48|
|--------+-------+--------+-------+--------+-------+--------+-------|
| 1680.0 | +16| 1760.0 | +17| 1880.0 | -5.40| 1980.0 | +50.88|
|--------+-------+--------+-------+--------+-------+--------+-------|
| 1685.0 | +12| 1785.0 | +17| 1885.0 | -5.79| 1985.0 | +54.34|
|--------+-------+--------+-------+--------+-------+--------+-------|
| 1690.0 | +10| 1790.0 | +17| 1890.0 | -5.87| 1990.0 |+56.879|
|--------+-------+--------+-------+--------+-------+--------+-------|
| 1695.0 | +9| 1795.0 | +16| 1895.0 | -6.47| 1991.0 |+57.575|
|--------+-------+--------+-------+--------+-------+--------+-------|
| 1700.0 | +9| 1800.0 | +13.7| 1900.0 | -2.72| 1992.0 |+58.335|
|--------+-------+--------+-------+--------+-------+--------+-------|
| 1705.0 | +9| 1805.0 | +12.6| 1905.0 | +3.86| ****** |*******|
|--------+-------+--------+-------+--------+-------+--------+-------|
| 1710.0 | +10| 1810.0 | +12.5| 1910.0 | +10.46| ****** |*******|
|--------+-------+--------+-------+--------+-------+--------+-------|
| 1715.0 | +10| 1815.0 | +12.5| 1915.0 | +17.20| ****** |*******|
+-------------------------------------------------------------------+
9. 旧暦の計算の概略
旧暦の計算の手順は、 日付を先に決めてから、月名を決めるのが本来の方法で
す。具体的には、[計算対象の直前の朔からの日数+1]を旧暦の日付とし、 月
名は、二分二至・中気と朔の関係から決定しています。
本スクリプトでは、 二分二至・中気・朔を一括して求めてから、新暦と旧暦の対
応表『朔日行列』(拙者が勝手に名前を付けた)と言う2次元配列を作成してか
ら、月日を求めています。
配列の内訳
m[i,0] ... 旧暦の月名(1:正月 2:2月 3:3月 ....)
m[i,1] ... 閏フラグ(1:閏月 0:閏月ではない)
m[i,2] ... 朔日のユリウス日
本スクリプトでは、以下のような方法で行っています。
i 計算する日付の直前の二分二至の日付を求める。
ii 計算する日付の直前の二分二至と、中気の時刻と黄経を3回分求める。
iii 計算する日付の直前の二分二至以前にあった朔の日付を求めます。引き続
いて、その後の朔の日付を4回分計算します。(合計で、5回だけ朔の時刻
を計算する事になります。)
iv 中気の時刻と朔の時刻から旧暦の月名と、旧暦の朔日[ついたち]が新暦
の何月何日になるかを計算して、新暦と旧暦の対応表『朔日行列』を作成し
ます。さらに、閏月の有無の判別をここで行います。閏月は、以下の条件が
同時に成り立つ時とします。(AND条件)
i [5回目の朔の時刻]≦[3回目目の中気の時刻]
ii 中気を含まない月
v 計算する日付の直前の朔を(朔日行列の中から)見つけて、旧暦の日付を
求める。(朔の日付と、計算する日付が等しい場合には、朔日とする。)
i ~ iii の手順は解りづらいと思いますので、以下の図を参照して下さい。
i と ii の手順の流れ
------------------ 直前の二分二至
^ |
| |
|i |
| |
| |
| v ii-1
| -------------- 中気1
| |
| |
| |
------ | --------- 計算対象の時刻
|
v ii-2
-------------- 中気2
|
|
|
|
|
v ii-3
------------------ 中気3(直後の二分二至)
iii の手順の流れ
------------------ 朔1
^iii-1 |
| |
| |
--------- | ------ 直前の二分二至
|
v iii-2
------------------ 朔2
|
|
|
--------- | ----- 中気1
|
v iii-3
--------------- 朔3
|
|
|
--------- | ------ 中気2
|
v iii-4
--------------- 朔4
|
|
|
--------- | ------ 中気3
|
v iii-5
--------------- 朔5
この図はあくまでも説明のために作成したものですから、 必ずこのように朔と
朔の間に中気が入るとは限りません。(例題2,3を参照)
---------- + ----------
計算例をみてどんな感じかをつかんでもらった方が早いかと思います...。(と
言って逃げる...。)
例題1
1994年5月1日は旧暦の何月何日になるか求めなさい。
【解】
・計算する日付の直前の二分二至の日付を求めます。 5月の直前の二分二至は春
分ですのでこの時刻を計算します。
答え:1994年 3月 21日(ユリウス日=2449432)
※ 直前の二分二至の時刻の計算方法については、後で説明します。
・計算する日付の直前の二分二至から、中気の時刻と黄経を3回分求めます。
答え:
1. 1994年 4月20日(ユリウス日=2449462)
2. 1994年 5月21日(ユリウス日=2449493)
3. 1994年 6月21日(ユリウス日=2449524)
※ 中気の時刻の計算方法については、後で説明します。
・計算する日付の直前の二分二至を与えて、 この日付以前にあった朔の日付を求
める。 引き続いて、その後の朔の日付を4回分計算します。(合計で、5回だけ
朔の時刻を計算する事になります。)
答え:
1. 1994年 3月 12日(ユリウス日=2449423)
2. 1994年 4月 11日(ユリウス日=2449453)
3. 1994年 5月 11日(ユリウス日=2449483)
4. 1994年 6月 9日(ユリウス日=2449512)
5. 1994年 7月 9日(ユリウス日=2449542)
※ 朔の時刻の計算方法については、後で説明します。
・中気の時刻と朔の時刻から旧暦の月名と、 旧暦の朔日[ついたち]が新暦の何
月何日になるかを計算して、 新暦と旧暦の対応表を作成する。さらに、閏月の有
無の判別をここで行います。条件は、
[5回目の朔の時刻]≦[3回目目の中気の時刻]
の場合でかつ、中気を含まない月とする。
答え:
春分を含む月は旧2月と決まっていますので、1994年 3月 12日から、4月 10日
までの間が旧暦の2月となり、 後は自動的に3月・4月・5月と決まって行きま
す。 これをまとめて表にしますと以下のようになります。 日付のとなりにある
()は、ユリウス日です。