calendar-converter.js 68 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865
  1. var calendar = (function () {
  2. 'use strict';
  3. var lunarInfo = [0x04bd8, 0x04ae0, 0x0a570, 0x054d5, 0x0d260, 0x0d950, 0x16554, 0x056a0, 0x09ad0, 0x055d2,
  4. //1900-1909
  5. 0x04ae0, 0x0a5b6, 0x0a4d0, 0x0d250, 0x1d255, 0x0b540, 0x0d6a0, 0x0ada2, 0x095b0, 0x14977,
  6. //1910-1919
  7. 0x04970, 0x0a4b0, 0x0b4b5, 0x06a50, 0x06d40, 0x1ab54, 0x02b60, 0x09570, 0x052f2, 0x04970,
  8. //1920-1929
  9. 0x06566, 0x0d4a0, 0x0ea50, 0x16a95, 0x05ad0, 0x02b60, 0x186e3, 0x092e0, 0x1c8d7, 0x0c950,
  10. //1930-1939
  11. 0x0d4a0, 0x1d8a6, 0x0b550, 0x056a0, 0x1a5b4, 0x025d0, 0x092d0, 0x0d2b2, 0x0a950, 0x0b557,
  12. //1940-1949
  13. 0x06ca0, 0x0b550, 0x15355, 0x04da0, 0x0a5b0, 0x14573, 0x052b0, 0x0a9a8, 0x0e950, 0x06aa0,
  14. //1950-1959
  15. 0x0aea6, 0x0ab50, 0x04b60, 0x0aae4, 0x0a570, 0x05260, 0x0f263, 0x0d950, 0x05b57, 0x056a0,
  16. //1960-1969
  17. 0x096d0, 0x04dd5, 0x04ad0, 0x0a4d0, 0x0d4d4, 0x0d250, 0x0d558, 0x0b540, 0x0b6a0, 0x195a6,
  18. //1970-1979
  19. 0x095b0, 0x049b0, 0x0a974, 0x0a4b0, 0x0b27a, 0x06a50, 0x06d40, 0x0af46, 0x0ab60, 0x09570,
  20. //1980-1989
  21. 0x04af5, 0x04970, 0x064b0, 0x074a3, 0x0ea50, 0x06b58, 0x05ac0, 0x0ab60, 0x096d5, 0x092e0,
  22. //1990-1999
  23. 0x0c960, 0x0d954, 0x0d4a0, 0x0da50, 0x07552, 0x056a0, 0x0abb7, 0x025d0, 0x092d0, 0x0cab5,
  24. //2000-2009
  25. 0x0a950, 0x0b4a0, 0x0baa4, 0x0ad50, 0x055d9, 0x04ba0, 0x0a5b0, 0x15176, 0x052b0, 0x0a930,
  26. //2010-2019
  27. 0x07954, 0x06aa0, 0x0ad50, 0x05b52, 0x04b60, 0x0a6e6, 0x0a4e0, 0x0d260, 0x0ea65, 0x0d530,
  28. //2020-2029
  29. 0x05aa0, 0x076a3, 0x096d0, 0x04afb, 0x04ad0, 0x0a4d0, 0x1d0b6, 0x0d250, 0x0d520, 0x0dd45,
  30. //2030-2039
  31. 0x0b5a0, 0x056d0, 0x055b2, 0x049b0, 0x0a577, 0x0a4b0, 0x0aa50, 0x1b255, 0x06d20, 0x0ada0,
  32. //2040-2049
  33. /**Add By JJonline@JJonline.Cn**/
  34. 0x14b63, 0x09370, 0x049f8, 0x04970, 0x064b0, 0x168a6, 0x0ea50, 0x06aa0, 0x1a6c4, 0x0aae0,
  35. //2050-2059
  36. 0x092e0, 0x0d2e3, 0x0c960, 0x0d557, 0x0d4a0, 0x0da50, 0x05d55, 0x056a0, 0x0a6d0, 0x055d4,
  37. //2060-2069
  38. 0x052d0, 0x0a9b8, 0x0a950, 0x0b4a0, 0x0b6a6, 0x0ad50, 0x055a0, 0x0aba4, 0x0a5b0, 0x052b0,
  39. //2070-2079
  40. 0x0b273, 0x06930, 0x07337, 0x06aa0, 0x0ad50, 0x14b55, 0x04b60, 0x0a570, 0x054e4, 0x0d160,
  41. //2080-2089
  42. 0x0e968, 0x0d520, 0x0daa0, 0x16aa6, 0x056d0, 0x04ae0, 0x0a9d4, 0x0a2d0, 0x0d150, 0x0f252,
  43. //2090-2099
  44. /**Add By Lofanmi**/
  45. 0x0d520, 0x0db27, 0x0b5a0, 0x055d0, 0x04db5, 0x049b0, 0x0a4b0, 0x0d4b4, 0x0aa50, 0x0b559,
  46. //2100-2109
  47. 0x06d20, 0x0ad60, 0x05766, 0x09370, 0x04970, 0x06974, 0x054b0, 0x06a50, 0x07a53, 0x06aa0,
  48. //2110-2119
  49. 0x1aaa7, 0x0aad0, 0x052e0, 0x0cae5, 0x0a960, 0x0d4a0, 0x1e4a4, 0x0d950, 0x05abb, 0x056a0,
  50. //2120-2129
  51. 0x0a6d0, 0x151d6, 0x052d0, 0x0a8d0, 0x1d155, 0x0b2a0, 0x0b550, 0x06d52, 0x055a0, 0x1a5a7,
  52. //2130-2139
  53. 0x0a5b0, 0x052b0, 0x0a975, 0x068b0, 0x07290, 0x0baa4, 0x06b50, 0x02dbb, 0x04b60, 0x0a570,
  54. //2140-2149
  55. 0x052e6, 0x0d160, 0x0e8b0, 0x06d25, 0x0da90, 0x05b50, 0x036d3, 0x02ae0, 0x0a3d7, 0x0a2d0,
  56. //2150-2159
  57. 0x0d150, 0x0d556, 0x0b520, 0x0d690, 0x155a4, 0x055b0, 0x02afa, 0x045b0, 0x0a2b0, 0x0aab6,
  58. //2160-2169
  59. 0x0a950, 0x0b4a0, 0x1b2a5, 0x0ad50, 0x055b0, 0x02b73, 0x04570, 0x06377, 0x052b0, 0x06950,
  60. //2170-2179
  61. 0x06d56, 0x05aa0, 0x0ab50, 0x056d4, 0x04ae0, 0x0a570, 0x06562, 0x0d2a0, 0x0eaa6, 0x0d550,
  62. //2180-2189
  63. 0x05aa0, 0x0aea5, 0x0a6d0, 0x04ae0, 0x0aab3, 0x0a4d0, 0x0d2b7, 0x0b290, 0x0b550, 0x15556,
  64. //2190-2199
  65. 0x02da0, 0x095d0, 0x145b4, 0x049b0, 0x0a4f9, 0x064b0, 0x06a90, 0x0b696, 0x06b50, 0x02b60,
  66. //2200-2209
  67. 0x09b64, 0x09370, 0x04970, 0x06963, 0x0e4a0, 0x0eaa7, 0x0da90, 0x05b50, 0x02ed5, 0x02ae0,
  68. //2210-2219
  69. 0x092e0, 0x1c2d4, 0x0c950, 0x0d4d9, 0x0b4a0, 0x0b690, 0x057a7, 0x055b0, 0x025d0, 0x095b5,
  70. //2220-2229
  71. 0x092b0, 0x0a950, 0x1c953, 0x0b4a0, 0x0b5a8, 0x0ad50, 0x055b0, 0x12375, 0x02570, 0x052b0,
  72. //2230-2239
  73. 0x1a2b4, 0x06950, 0x06cbb, 0x05aa0, 0x0ab50, 0x14ad6, 0x04ae0, 0x0a570, 0x054d5, 0x0d260,
  74. //2240-2249
  75. 0x0e950, 0x07553, 0x05aa0, 0x0aba7, 0x095d0, 0x04ae0, 0x0a5b6, 0x0a4d0, 0x0d250, 0x0da55,
  76. //2250-2259
  77. 0x0b540, 0x0d6a0, 0x0ada1, 0x095b0, 0x04b77, 0x049b0, 0x0a4b0, 0x0b4b5, 0x06a50, 0x0ad40,
  78. //2260-2269
  79. 0x1ab53, 0x02b60, 0x19568, 0x09370, 0x04970, 0x06566, 0x0e4a0, 0x0ea50, 0x16a94, 0x05ad0,
  80. //2270-2279
  81. 0x02b60, 0x0aae2, 0x092e0, 0x0cad6, 0x0c950, 0x0d4a0, 0x0dca5, 0x0b650, 0x056a0, 0x0b5b3,
  82. //2280-2289
  83. 0x025d0, 0x093b7, 0x092b0, 0x0a950, 0x0b556, 0x074a0, 0x0b550, 0x05d54, 0x04da0, 0x0a5b0,
  84. //2290-2299
  85. 0x06572, 0x052b0, 0x0aaa6, 0x0e950, 0x06aa0, 0x1aaa5, 0x0ab50, 0x04b60, 0x0aae3, 0x0a570,
  86. //2300-2309
  87. 0x052d7, 0x0d260, 0x0d950, 0x16956, 0x056a0, 0x09ad0, 0x145d4, 0x04ad0, 0x0a4fa, 0x0a4d0,
  88. //2310-2319
  89. 0x0d250, 0x1d457, 0x0b540, 0x0b6a0, 0x195a5, 0x095b0, 0x049b0, 0x0a973, 0x0a4b0, 0x0b2b8,
  90. //2320-2329
  91. 0x06a50, 0x06d40, 0x0b746, 0x0ab60, 0x09570, 0x142f4, 0x04970, 0x064b0, 0x074a3, 0x0ea50,
  92. //2330-2339
  93. 0x16c57, 0x05ac0, 0x0ab60, 0x096d5, 0x092e0, 0x0c960, 0x0d954, 0x0d4a0, 0x0daa8, 0x0b550,
  94. //2340-2349
  95. 0x056a0, 0x1a9b6, 0x025d0, 0x092d0, 0x0cab5, 0x0a950, 0x0b4a0, 0x0f4a1, 0x0b550, 0x15557,
  96. //2350-2359
  97. 0x04ba0, 0x0a5b0, 0x05575, 0x052b0, 0x0a930, 0x07954, 0x06aa0, 0x0ada8, 0x0ab50, 0x04b60,
  98. //2360-2369
  99. 0x0a6e6, 0x0a570, 0x05260, 0x0ea65, 0x0d920, 0x0daa0, 0x156a2, 0x096d0, 0x04bd7, 0x04ad0,
  100. //2370-2379
  101. 0x0a4d0, 0x0d4b5, 0x0d250, 0x0d520, 0x1d544, 0x0b5a0, 0x056ea, 0x095b0, 0x049b0, 0x0a576,
  102. //2380-2389
  103. 0x0a4b0, 0x0b250, 0x0ba54, 0x06d20, 0x0ada0, 0x06b62, 0x09370, 0x04af6, 0x04970, 0x064b0,
  104. //2390-2399
  105. 0x06ca5, 0x0ea50, 0x06b20, 0x0bac3, 0x0ab60, 0x093d8, 0x092e0, 0x0c960, 0x0d556, 0x0d4a0,
  106. //2400-2409
  107. 0x0da50, 0x05d55, 0x056a0, 0x0aad0, 0x065d2, 0x052d0, 0x1a8b7, 0x0a950, 0x0b4a0, 0x1b2a5,
  108. //2410-2419
  109. 0x0ad50, 0x055a0, 0x0aba3, 0x0a5b0, 0x15278, 0x05270, 0x06930, 0x07536, 0x06aa0, 0x0ad50,
  110. //2420-2429
  111. 0x14b54, 0x04b60, 0x0a570, 0x144e3, 0x0d260, 0x1e867, 0x0d520, 0x0da90, 0x06ea5, 0x056d0,
  112. //2430-2439
  113. 0x04ae0, 0x0a9d4, 0x0a4d0, 0x0d2b8, 0x0d250, 0x0d520, 0x0db27, 0x0b5a0, 0x056d0, 0x04db5,
  114. //2440-2449
  115. 0x049b0, 0x0a4b0, 0x1c4b3, 0x0aa50, 0x0b558, 0x06d20, 0x0ad60, 0x15365, 0x05370, 0x04970,
  116. //2450-2459
  117. 0x06974, 0x064b0, 0x06aa8, 0x0ea50, 0x06aa0, 0x1aaa6, 0x0aad0, 0x052e0, 0x0cae5, 0x0c960,
  118. //2460-2469
  119. 0x0d4a0, 0x0f4a3, 0x0d950, 0x05b57, 0x056a0, 0x0a6d0, 0x055d5, 0x052d0, 0x0a950, 0x0d954,
  120. //2470-2479
  121. 0x0b4a0, 0x0b56a, 0x0ad50, 0x055a0, 0x0a7a6, 0x0a5b0, 0x052b0, 0x0a975, 0x06930, 0x07290,
  122. //2480-2489
  123. 0x1aa93, 0x06d50, 0x12d57, 0x04b60, 0x0a570, 0x052e5, 0x0d160, 0x0e8b0, 0x16524, 0x0da90,
  124. //2490-2499
  125. 0x06b6a, 0x056d0, 0x02ae0, 0x0a5d6, 0x0a2d0, 0x0d150, 0x1d155, 0x0b520, 0x0da90, 0x075a2,
  126. //2500-2509
  127. 0x055b0, 0x02bb7, 0x045b0, 0x0a2b0, 0x0b2b5, 0x0a950, 0x0b520, 0x0bd24, 0x0ad50, 0x055b0,
  128. //2510-2519
  129. 0x05371, 0x04570, 0x16176, 0x052b0, 0x06950, 0x16955, 0x05aa0, 0x0ab50, 0x14ad3, 0x04ae0,
  130. //2520-2529
  131. 0x1a4e7, 0x0a560, 0x0d4a0, 0x0eaa6, 0x0d950, 0x05aa0, 0x1a6a4, 0x0a6d0, 0x04ae0, 0x0cab1,
  132. //2530-2539
  133. 0x0a8d0, 0x0d4b7, 0x0b290, 0x0b550, 0x15555, 0x035a0, 0x095d0, 0x055b3, 0x049b0, 0x0a977,
  134. //2540-2549
  135. 0x068b0, 0x06a90, 0x0b696, 0x06b50, 0x02da0, 0x09b64, 0x09570, 0x051e8, 0x0d160, 0x0e4a0,
  136. //2550-2559
  137. 0x0eaa7, 0x0da90, 0x05b50, 0x02ed5, 0x02ae0, 0x092e0, 0x0d2d4, 0x0c950, 0x0d557, 0x0b4a0,
  138. //2560-2569
  139. 0x0b690, 0x15996, 0x055b0, 0x029d0, 0x095b4, 0x0a2b0, 0x1a939, 0x0a950, 0x0b4a0, 0x0b6a6,
  140. //2570-2579
  141. 0x0ad50, 0x055a0, 0x0ab74, 0x02570, 0x052b0, 0x0b2b3, 0x06950, 0x06d57, 0x05aa0, 0x0ab50,
  142. //2580-2589
  143. 0x056d5, 0x04ae0, 0x0a570, 0x05554, 0x0d260, 0x0e96a, 0x0d550, 0x05aa0, 0x1aaa7, 0x096d0,
  144. //2590-2599
  145. 0x04ae0, 0x1a1b5, 0x0a4d0, 0x0d250, 0x1d253, 0x0b540, 0x1d658, 0x02da0, 0x095b0, 0x14976,
  146. //2600-2609
  147. 0x049b0, 0x0a4b0, 0x0b4b4, 0x06a50, 0x0b55b, 0x06b50, 0x02b60, 0x09766, 0x09370, 0x04970,
  148. //2610-2619
  149. 0x16165, 0x0e4a0, 0x0ea50, 0x07a93, 0x05ac0, 0x0abd8, 0x02ae0, 0x092e0, 0x0cad6, 0x0c950,
  150. //2620-2629
  151. 0x0d4a0, 0x0dca5, 0x0b650, 0x056a0, 0x0d5b1, 0x025d0, 0x093b7, 0x092b0, 0x0a950, 0x1d155,
  152. //2630-2639
  153. 0x074a0, 0x0b550, 0x14d53, 0x055a0, 0x1a568, 0x0a570, 0x052b0, 0x0aaa6, 0x0e950, 0x06ca0,
  154. //2640-2649
  155. 0x1aaa4, 0x0ab50, 0x04b60, 0x18ae2, 0x0a570, 0x052d7, 0x0d260, 0x0e920, 0x0ed55, 0x05aa0,
  156. //2650-2659
  157. 0x09ad0, 0x056d3, 0x04ad0, 0x0a5b7, 0x0a4d0, 0x0d250, 0x0da56, 0x0b540, 0x0d6a0, 0x09da4,
  158. //2660-2669
  159. 0x095b0, 0x04ab0, 0x0a973, 0x0a4b0, 0x0b2b7, 0x06a50, 0x06d40, 0x1b345, 0x0ab60, 0x095b0,
  160. //2670-2679
  161. 0x05373, 0x04970, 0x06567, 0x0d4a0, 0x0ea50, 0x06e56, 0x05ac0, 0x0ab60, 0x096d4, 0x092e0,
  162. //2680-2689
  163. 0x0c960, 0x0e953, 0x0d4a0, 0x0daa7, 0x0b550, 0x056a0, 0x0ada5, 0x0a5d0, 0x092d0, 0x0d2b3,
  164. //2690-2699
  165. 0x0a950, 0x1b458, 0x074a0, 0x0b550, 0x15556, 0x04da0, 0x0a5b0, 0x05574, 0x052b0, 0x0a930,
  166. //2700-2709
  167. 0x16933, 0x06aa0, 0x1aca7, 0x0ab50, 0x04b60, 0x1a2e5, 0x0a560, 0x0d260, 0x1e264, 0x0d920,
  168. //2710-2719
  169. 0x0dac9, 0x0d6a0, 0x09ad0, 0x149d6, 0x04ad0, 0x0a4d0, 0x0d4b5, 0x0d250, 0x0d53b, 0x0b540,
  170. //2720-2729
  171. 0x0b6a0, 0x057a7, 0x095b0, 0x049b0, 0x1a175, 0x0a4b0, 0x0b250, 0x0ba54, 0x06d20, 0x0adc9,
  172. //2730-2739
  173. 0x0ab60, 0x09570, 0x04af6, 0x04970, 0x064b0, 0x06ca5, 0x0ea50, 0x06d20, 0x19aa2, 0x0ab50,
  174. //2740-2749
  175. 0x152d7, 0x092e0, 0x0c960, 0x0d556, 0x0d4a0, 0x0da50, 0x15554, 0x056a0, 0x1aaa8, 0x0a5d0,
  176. //2750-2759
  177. 0x052d0, 0x0aab6, 0x0a950, 0x0b4a0, 0x1b4a5, 0x0b550, 0x055a0, 0x0aba3, 0x0a5b0, 0x05377,
  178. //2760-2769
  179. 0x05270, 0x06930, 0x07536, 0x06aa0, 0x0ad50, 0x05b53, 0x04b60, 0x0a5e8, 0x0a4e0, 0x0d260,
  180. //2770-2779
  181. 0x0ea66, 0x0d520, 0x0da90, 0x06ea5, 0x056d0, 0x04ae0, 0x0aad3, 0x0a4d0, 0x0d2b7, 0x0d250,
  182. //2780-2789
  183. 0x0d520, 0x1d926, 0x0b6a0, 0x056d0, 0x055b3, 0x049b0, 0x1a478, 0x0a4b0, 0x0aa50, 0x0b656,
  184. //2790-2799
  185. 0x06d20, 0x0ad60, 0x05b64, 0x05370, 0x04970, 0x06973, 0x064b0, 0x06aa7, 0x0ea50, 0x06b20,
  186. //2800-2809
  187. 0x0aea6, 0x0ab50, 0x05360, 0x1c2e4, 0x0c960, 0x0d4d9, 0x0d4a0, 0x0da50, 0x05b57, 0x056a0,
  188. //2810-2819
  189. 0x0a6d0, 0x055d5, 0x052d0, 0x0a950, 0x1c953, 0x0b490, 0x0b5a8, 0x0ad50, 0x055a0, 0x1a3a5,
  190. //2820-2829
  191. 0x0a5b0, 0x052b0, 0x1a174, 0x06930, 0x072b9, 0x06a90, 0x06d50, 0x02f56, 0x04b60, 0x0a570,
  192. //2830-2839
  193. 0x054e5, 0x0d160, 0x0e920, 0x0f523, 0x0da90, 0x06ba8, 0x056d0, 0x02ae0, 0x0a5d6, 0x0a4d0,
  194. //2840-2849
  195. 0x0d150, 0x0d955, 0x0d520, 0x0daa9, 0x0b590, 0x056b0, 0x02bb7, 0x049b0, 0x0a2b0, 0x0b2b5,
  196. //2850-2859
  197. 0x0aa50, 0x0b520, 0x1ad23, 0x0ad50, 0x15567, 0x05370, 0x04970, 0x06576, 0x054b0, 0x06a50,
  198. //2860-2869
  199. 0x07954, 0x06aa0, 0x0ab6a, 0x0aad0, 0x05360, 0x0a6e6, 0x0a960, 0x0d4a0, 0x0eca5, 0x0d950,
  200. //2870-2879
  201. 0x05aa0, 0x0b6a3, 0x0a6d0, 0x04bd7, 0x04ab0, 0x0a8d0, 0x0d4b6, 0x0b290, 0x0b540, 0x0dd54,
  202. //2880-2889
  203. 0x055a0, 0x095ea, 0x095b0, 0x052b0, 0x0a976, 0x068b0, 0x07290, 0x1b295, 0x06d50, 0x02da0,
  204. //2890-2899
  205. 0x18b63, 0x09570, 0x150e7, 0x0d160, 0x0e8a0, 0x1e8a6, 0x0da90, 0x05b50, 0x126d4, 0x02ae0,
  206. //2900-2909
  207. 0x092fb, 0x0a2d0, 0x0d150, 0x0d557, 0x0b4a0, 0x0da90, 0x05d95, 0x055b0, 0x02ad0, 0x185b3,
  208. //2910-2919
  209. 0x0a2b0, 0x0a9b8, 0x0a950, 0x0b4a0, 0x1b4a6, 0x0ad50, 0x055a0, 0x0ab64, 0x0a570, 0x052f9,
  210. //2920-2929
  211. 0x052b0, 0x06950, 0x06d57, 0x05aa0, 0x0ab50, 0x152d5, 0x04ae0, 0x0a570, 0x05554, 0x0d260,
  212. //2930-2939
  213. 0x0e9a8, 0x0d950, 0x05aa0, 0x1aaa6, 0x096d0, 0x04ad0, 0x0aab4, 0x0a4d0, 0x0d2b8, 0x0b250,
  214. //2940-2949
  215. 0x0b540, 0x0d757, 0x02da0, 0x095b0, 0x04db5, 0x049b0, 0x0a4b0, 0x0b4b4, 0x06a50, 0x0b598,
  216. //2950-2959
  217. 0x06d50, 0x02d60, 0x09766, 0x09370, 0x04970, 0x06964, 0x0e4a0, 0x0ea6a, 0x0da50, 0x05b40,
  218. //2960-2969
  219. 0x1aad7, 0x02ae0, 0x092e0, 0x0cad5, 0x0c950, 0x0d4a0, 0x1d4a3, 0x0b650, 0x15658, 0x055b0,
  220. //2970-2979
  221. 0x029d0, 0x191b6, 0x092b0, 0x0a950, 0x0d954, 0x0b4a0, 0x0b56a, 0x0ad50, 0x055a0, 0x0a766,
  222. //2980-2989
  223. 0x0a570, 0x052b0, 0x0aaa5, 0x0e950, 0x06ca0, 0x0baa3, 0x0ab50, 0x04bd8, 0x04ae0, 0x0a570,
  224. //2990-2999
  225. 0x150d6 // 3000
  226. ];
  227. // 注意: 2057年
  228. // 错误: 0x06b20,2057-09-28(八月三十)2057-10-27(九月廿九)
  229. // 正确: 0x06aa0,2057-09-28(九月初一)2057-10-27(九月三十)
  230. //
  231. // https://www.hko.gov.hk/tc/gts/time/conversion1_text.htm
  232. // https://www.hko.gov.hk/tc/gts/time/calendar/text/files/T2057c.txt
  233. var solarMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  234. var Gan = ["\u7532", "\u4E59", "\u4E19", "\u4E01", "\u620A", "\u5DF1", "\u5E9A", "\u8F9B", "\u58EC", "\u7678"];
  235. var Zhi = ["\u5B50", "\u4E11", "\u5BC5", "\u536F", "\u8FB0", "\u5DF3", "\u5348", "\u672A", "\u7533", "\u9149", "\u620C", "\u4EA5"];
  236. var ChineseZodiac = ["\u9F20", "\u725B", "\u864E", "\u5154", "\u9F99", "\u86C7", "\u9A6C", "\u7F8A", "\u7334", "\u9E21", "\u72D7", "\u732A"];
  237. var festival = {
  238. '1-1': {
  239. title: '元旦节'
  240. },
  241. '2-14': {
  242. title: '情人节'
  243. },
  244. '5-1': {
  245. title: '劳动节'
  246. },
  247. '5-4': {
  248. title: '青年节'
  249. },
  250. '6-1': {
  251. title: '儿童节'
  252. },
  253. '9-10': {
  254. title: '教师节'
  255. },
  256. '10-1': {
  257. title: '国庆节'
  258. },
  259. '12-25': {
  260. title: '圣诞节'
  261. },
  262. '3-8': {
  263. title: '妇女节'
  264. },
  265. '3-12': {
  266. title: '植树节'
  267. },
  268. '4-1': {
  269. title: '愚人节'
  270. },
  271. '5-12': {
  272. title: '护士节'
  273. },
  274. '7-1': {
  275. title: '建党节'
  276. },
  277. '8-1': {
  278. title: '建军节'
  279. },
  280. '12-24': {
  281. title: '平安夜'
  282. }
  283. };
  284. var lFestival = {
  285. '12-30': {
  286. title: '除夕'
  287. },
  288. '1-1': {
  289. title: '春节'
  290. },
  291. '1-15': {
  292. title: '元宵节'
  293. },
  294. '2-2': {
  295. title: '龙抬头'
  296. },
  297. '5-5': {
  298. title: '端午节'
  299. },
  300. '7-7': {
  301. title: '七夕节'
  302. },
  303. '7-15': {
  304. title: '中元节'
  305. },
  306. '8-15': {
  307. title: '中秋节'
  308. },
  309. '9-9': {
  310. title: '重阳节'
  311. },
  312. '10-1': {
  313. title: '寒衣节'
  314. },
  315. '10-15': {
  316. title: '下元节'
  317. },
  318. '12-8': {
  319. title: '腊八节'
  320. },
  321. '12-23': {
  322. title: '北方小年'
  323. },
  324. '12-24': {
  325. title: '南方小年'
  326. }
  327. };
  328. var solarTerm = ["\u5C0F\u5BD2", "\u5927\u5BD2", "\u7ACB\u6625", "\u96E8\u6C34", "\u60CA\u86F0", "\u6625\u5206", "\u6E05\u660E", "\u8C37\u96E8", "\u7ACB\u590F", "\u5C0F\u6EE1", "\u8292\u79CD", "\u590F\u81F3", "\u5C0F\u6691", "\u5927\u6691", "\u7ACB\u79CB", "\u5904\u6691", "\u767D\u9732", "\u79CB\u5206", "\u5BD2\u9732", "\u971C\u964D", "\u7ACB\u51AC", "\u5C0F\u96EA", "\u5927\u96EA", "\u51AC\u81F3"];
  329. var sTermInfo = ['9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', '9778397bd19801ec9210c965cc920e', '97b6b97bd19801ec95f8c965cc920f', '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd197c36c9210c9274c91aa', '97b6b97bd19801ec95f8c965cc920e', '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec95f8c965cc920e', '97bcf97c3598082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd097bd07f595b0b6fc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '9778397bd19801ec9210c9274c920e', '97b6b97bd19801ec95f8c965cc920f', '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e', '97b6b97bd19801ec95f8c965cc920f', '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bd07f1487f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c91aa', '97b6b97bd197c36c9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e', '97b6b7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36b0b70c9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c91aa', '97b6b7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '977837f0e37f149b0723b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c35b0b6fc9210c8dc2', '977837f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc9210c8dc2', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0723b06bd', '7f07e7f0e37f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f595b0b0bb0b6fb0722', '7f0e37f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e37f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f149b0723b0787b0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0723b06bd', '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0723b06bd', '7f07e7f0e37f14998083b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14898082b0723b02d5', '7f07e7f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66aa89801e9808297c35', '665f67f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66a449801e9808297c35', '665f67f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e36665b66a449801e9808297c35', '665f67f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e26665b66a449801e9808297c35', '665f67f0e37f1489801eb072297c35', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd197c36c9210c9274c920e', '97bcf7f0e47f531b0723b0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c91aa', '97b6b97bd197c36b0b70c9274c920e', '97bcf7f0e47f531b0723b0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c35b0b6fc9210c91aa', '97b6b97bd097c36b0b6fc9274c920e', '97bcf7f0e47f531b0723b0b6fb0722', '7f0e397bd07f595b0b0bb0b6fb0722', '9778397bd097c35b0b6fc9210c8dc2', '97b6b97bd097c36b0b6fc9274c920e', '97bcf7f0e47f531b0723b0b6fb0722', '7f0e37f5307f531b0b0bb0b6fb0722', '9778397bd097c35b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c920e', '97b6b7f0e47f531b0723b0b6fb0722', '7f0e37f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fc8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e37f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b0bc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f149b0723b0787b0721', '7f0e27f1487f531b0723b0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f14998083b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c35b0b6fc9210c91aa', '97b6b7f0e37f14998082b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e397bd07f595b0b0bb0b6fb0722', '9778397bd097c35b0b6fc9210c91aa', '97b6b7f0e37f14998082b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e397bd07f531b0b0bb0b6fb0722', '9778397bd097c35b0b6fc9210c8dc2', '97b6b7f0e37f14998082b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e37f5307f531b0b0bb0b6fb0722', '9778397bd097c35b0b6fc9210c8dc2', '977837f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b0bc920fc8dc2', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e37f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f149b0723b0b6fb0721', '7f0e27f1487f531b0723b0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f14998083b0787b0721', '7f0e27f1487f531b0723b0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0723b06bd', '7f07e7f0e47f14998083b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14898082b0723b06bd', '7f07e7f0e37f14998082b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e397bd07f531b0b0bb0b6fb0722', '977837f0e37f14898082b0723b06bd', '7f07e7f0e37f14998082b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e397bd07f531b0b0bb0b6fb0722', '977837f0e37f14898082b0723b02d5', '7f07e7f0e37f14998082b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e37f1487f531b0b0bb0b6fb0722', '977837f0e37f14898082b0723b02d5', '7f07e7f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f531b0b0bb0b6fb0722', '977837f0e37f1489801eb0722b02d5', '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f531b0b0bb0b6fb0722', '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f14998083b0787b0721', '7f0e27f1487f531b0723b0b6fb0722', '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14898082b0787b06bd', '7f07e7f0e47f14998083b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c35b0b6fc9210c91aa', '97b6b97bd197c36b0b6fc9274c920e', '97bcf97bd19801ec9210c965cc920f', '97bd097bd07f595b0b0bb0b6fb0722', '9778397bd097c35b0b6fc9210c91aa', '97b6b97bd097c36b0b6fc9274c920e', '97bcf97bd19801ec9210c965cc920f', '97bd097bd07f531b0b0bb0b6fb0722', '9778397bd097c35b0b6fc9210c91aa', '97b6b97bd097c36b0b6fc9274c920e', '97bcf97bd19801ec9210c965cc920f', '97bd097bd07f531b0b0bb0b6fb0722', '9778397bd097c35b0b6fc9210c8dc2', '97b6b97bd097c36b0b6fc9274c920e', '97bcf97bd19801ec9210c965cc920f', '97bd07f1487f531b0b0bb0b6fb0722', '9778397bd097c35b0b0bc9210c8dc2', '97b6b97bd097c36b0b6fc9274c920e', '97b6b97bd19801ec9210c965cc920f', '97bd07f1487f531b0b0bb0b6fb0722', '9778397bd07f595b0b0bc920fc8dc2', '9778397bd097c36b0b6fc9274c920e', '97b6b97bd197c36c9210c965cc920f', '97bd07f1487f531b0723b0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd197c36b0b70c9274c920e', '97bd07f1487f531b0723b0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c35b0b6fc9210c91aa', '97b6b97bd197c36b0b6fc9274c920e', '97bcf7f0e47f531b0723b0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c35b0b6fc9210c91aa', '97b6b97bd097c36b0b6fc9274c920e', '97bcf7f0e47f531b0723b0b6fb0722', '7f0e397bd07f531b0b0bb0b6fb0722', '9778397bd097c35b0b6fc9210c91aa', '97b6b97bd097c36b0b6fc9274c920e', '97bcf7f0e47f531b0723b0b6fb0722', '7f0e397bd07f531b0b0bb0b6fb0722', '9778397bd097c35b0b6fc9210c91aa', '97b6b97bd097c36b0b6fc9274c920e', '97bcf7f0e47f531b0723b0b6fb0722', '7f0e397bd07f531b0b0bb0b6fb0722', '9778397bd097c35b0b0bc9210c91aa', '97b6b97bd097c36b0b6fc9274c920e', '97bcf7f0e47f531b0723b0b6fb0722', '7f0e37f1487f531b0b0bb0b6fb0722', '9778397bd097c35b0b0bc9210c8dc2', '97b6b97bd097c36b0b6fc9274c920e', '97bcf7f0e47f149b0723b0b6fb0722', '7f0e37f1487f531b0723b0b6fb0722', '9778397bd07f595b0b0bc920fc8dc2', '9778397bd097c36b0b6fc9274c920e', '97b6b7f0e47f14998083b0787b0722', '7f0e37f1487f531b0723b0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c35b0b6fc9274c91aa', '97b6b7f0e47f14998082b0787b0722', '7f0e37f1487f531b0723b0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c35b0b6fc9210c91aa', '97b6b7f0e47f14998082b0787b0721', '7f0e27f1487f531b0723b0b6fb0722', '7f0e397bd07f531b0b0bb0b6fb0722', '9778397bd097c35b0b6fc9210c91aa', '97b6b7f0e37f14998082b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e397bd07f531b0b0bb0b6fb0722', '9778397bd097c35b0b6fc9210c91aa', '97b6b7f0e37f14998082b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e397bd07f531b0b0bb0b6fb0722', '9778397bd097c35b0b0bc9210c91aa', '97b6b7f0e37f14998082b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e397bd07f531b0b0bb0b6fb0722', '9778397bd097c35b0b0bc9210c91aa', '97b6b7f0e37f14998082b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e37f1487f531b0723b0b6fb0722', '9778397bd07f595b0b0bc9210c8dc2', '97b6b7f0e37f14998082b0787b0721', '7f0e27f0e47f14998083b0b6fb0722', '7f0e37f1487f531b0723b0b6fb0722', '9778397bd07f595b0b0bc920fc8dc2', '977837f0e37f14898082b0787b0721', '7f07e7f0e47f14998082b0787b0722', '7f0e37f1487f531b0723b0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14898082b0787b06bd', '7f07e7f0e47f14998082b0787b0722', '7f0e37f1487f531b0723b0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14898082b0723b06bd', '7f07e7f0e47f14998082b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e397bd07f531b0b0bb0b6fb0722', '9778397bd097c35b0b6fc9210c91aa', '97b6b97bd097c36b0b6fc9274c920e', '97bcf97bd19801ec9210c965cc920f', '97bd0b06bd9801ec95f8c965cc920f', 'b027097bd097c35b0b0bc9210c91aa', '97b6b97bd097c36b0b6fc9274c920e', '97bcf97bd19801ec9210c965cc920f', '97bd0b06bd9801ec95f8c965cc920f', 'b027097bd097c35b0b0bc9210c91aa', '97b6b97bd097c36b0b6fc9274c920e', '97bcf97bd19801ec9210c965cc920f', '97bd0b06bd9801ec9210c965cc920f', 'b027097bd097c35b0b0bc9210c91aa', '97b6b97bd097c36b0b6fc9274c920e', '97bcf97bd197c36b0b70c965cc920f', '97bd097c359801ec9210c965cc920f', 'b027097bd07f595b0b0bc920fc8dc2', '97b6b97bd097c35b0b6fc9274c920e', '97bcf97bd197c36b0b70c965cc920f', '97bd097c359801ec9210c965cc920f', 'b027097bd07f595b0b0bc920fc8dc2', '97b6b97bd097c35b0b6fc9274c920e', '97bcf97bd197c36b0b6fc9274c920f', '97bd097c359801ec9210c965cc920f', 'b027097bd07f595b0b0bc920fb0722', '9778397bd097c35b0b6fc9210c91aa', '97b6b97bd197c36b0b6fc9274c920f', '97bd097c359801ec9210c965cc920f', '97bd097bd07f531b0b0bb0b6fb0722', '9778397bd097c35b0b6fc9210c91aa', '97b6b97bd097c36b0b6fc9274c920e', '97bcf97bd19801ec9210c965cc920f', '97bd097bd07f531b0b0bb0b6fb0722', '9778397bd097c35b0b0bc9210c91aa', '97b6b97bd097c36b0b6fc9274c920e', '97bcf97bd19801ec9210c965cc920f', '97bd097bd07f531b0b0bb0b6fb0722', '9778397bd097c35b0b0bc9210c91aa', '97b6b97bd097c36b0b6fc9274c920e', '97bcf97bd19801ec9210c965cc920f', '97bd097bd07f531b0723b0b6fb0722', '9778397bd097c35b0b0bc9210c91aa', '97b6b97bd097c36b0b6fc9274c920e', '97bcf97bd19801eb0b70c965cc920f', '97bd097bd07f531b0723b0b6fb0722', '9778397bd07f595b0b0bc9210c91aa', '97b6b97bd097c35b0b6fc9274c920e', '97bcf97bd197c36b0b70c965cc920f', '97bd07f1487f531b0723b0b6fb0722', '9778397bd07f595b0b0bc920fc8dc2', '97b6b97bd097c35b0b6fc9274c920e', '97bcf97bd197c36b0b6fc9274c920f', '97bd07f1487f531b0723b0b6fb0722', '9778397bd07f595b0b0bc920fc8dc2', '97b6b97bd097c35b0b6fc9274c920e', '97bcf97bd197c36b0b6fc9274c920f', '97bd07f1487f531b0723b0b6fb0722', '9778397bd07f531b0b0bb0b6fb0722', '9778397bd097c35b0b6fc9210c920e', '97b6b97bd197c36b0b6fc9274c920f', '97bd07f1487f531b0723b0b6fb0722', '7f0e397bd07f531b0b0bb0b6fb0722', '9778397bd097c35b0b6fc9210c91aa', '97b6b97bd097c36b0b6fc9274c920e', '97bcf7f0e47f531b0723b0b6fb0722', '7f0e397bd07f531b0b0bb0b6fb0722', '9778397bd097c35b0b0bc9210c91aa', '97b6b97bd097c36b0b6fc9274c920e', '97bcf7f0e47f531b0723b0b6fb0722', '7f0e397bd07f531b0723b0b6fb0722', '9778397bd097c35b0b0bc9210c91aa', '97b6b97bd097c36b0b6fc9274c920e', '97bcf7f0e47f53198083b0b6fb0722', '7f0e397bd07f531b0723b0b6fb0722', '9778397bd097c35b0b0bc9210c91aa', '97b6b97bd097c36b0b6fc9274c920e', '97bcf7f0e47f14998083b0b6fb0722', '7f0e397bd07f531b0723b0b6fb0722', '9778397bd07f595b0b0bc9210c91aa', '97b6b97bd097c35b0b6fc9274c920e', '97bcf7f0e47f14998082b0787b0722', '7f0e37f1487f531b0723b0b6fb0722', '9778397bd07f595b0b0bc920fc8dc2', '97b6b97bd097c35b0b6fc9274c920e', '97bcf7f0e47f14998082b0787b0722', '7f0e37f1487f531b0723b0b6fb0722', '9778397bd07f531b0b0bb0b6fc8dc2', '97b6b97bd097c35b0b6fc9274c920e', '97bcf7f0e47f14998082b0787b0722', '7f0e37f1487f531b0723b0b6fb0722', '9778397bd07f531b0b0bb0b6fb0722', '97b6b97bd097c35b0b6fc9210c920e', '97b6b7f0e47f14998082b0787b0722', '7f0e37f1487f531b0723b0b6fb0722', '9778397bd07f531b0b0bb0b6fb0722', '9778397bd097c35b0b0bc9210c91aa', '97b6b7f0e37f14998082b0787b0721', '7f0e37f0e47f531b0723b0b6fb0722', '7f0e397bd07f531b0723b0b6fb0722', '9778397bd097c35b0b0bc9210c91aa', '97b6b7f0e37f14998082b0787b0721', '7f0e27f0e47f53198083b0b6fb0722', '7f0e397bd07f531b0723b0b6fb0722', '9778397bd097c35b0b0bc9210c91aa', '97b6b7f0e37f14998082b0787b0721', '7f0e27f0e47f14998083b0b6fb0722', '7f0e397bd07f531b0723b0b6fb0722', '9778397bd07f595b0b0bc9210c91aa', '97b6b7f0e37f14898082b0787b0721', '7f0e27f0e47f14998083b0b6fb0722', '7f0e397bd07f531b0723b0b6fb0722', '9778397bd07f595b0b0bc9210c91aa', '97b6b7f0e37f14898082b0787b0721', '7f0e27f0e47f14998082b0787b0722', '7f0e3977e87f531b0723b0b6fb0722', '9778397bd07f595b0b0bc920fc8dc2', '97b6b7f0e37f14898082b0787b0721', '7f0e27f0e47f14998082b0787b0722', '7f0e37f1487f531b0723b0b6fb0722', '9778397bd07f531b0b0bb0b6fb0722', '97b6b7f0e37f14898082b0723b0721', '7f0e27f0e47f14998082b0787b0722', '7f0e37f1487f531b0723b0b6fb0722', '9778397bd07f531b0b0bb0b6fb0722', '97b6b7f0e37f1489801eb0723b0721', '7f07e7f0e37f14998082b0787b0722', '7f0e37f0e47f531b0723b0b6fb0722', '9778397bd07f531b0b0bb0b6fb0722', '977837f0e37f1489801eb0723b06bd', '7f07e7f0e37f14998082b0787b0722', '7f0e37f0e47f531b0723b0b6fb0722', '7f0e397bd07f531b0723b0b6fb0722', '977837f0e37f1489801eb0723b06bd', '7f07e7f0e37f14998082b0787b0721', '7f0e27f0e47f53198083b0b6fb0722', '7f0e397bd07f531b0723b0b6fb0722', '977837f0e37f1489801eb0723b06bd', '7f07e7f0e37f14898082b0787b0721', '7f0e27f0e47f14998083b0b6fb0722', '7f0e397bd07f531b0723b0b6fb0722', '977837f0e366aa89801eb0723b06bd', '7f07e7f0e37f14898082b0787b0721', '7f0e27f0e47f14998082b0787b0722', '7f0e397bd07f531b0723b0b6fb0722', '977837f0e366aa89801eb0722b06bd', '7f07e7f0e37f14898082b0787b0721', '7f0e27f0e47f14998082b0787b0722', '7f0e3977e87f531b0723b0b6fb0722', '977837f0e366a449801e98082b02d5', '7f07e7f0e37f14898082b0787b0721', '7f0e27f0e47f14998082b0787b0722', '7f0e37f1487f531b0723b0b6fb0722', '977837f0e366a449801e98082b02d5', '7f07e7f0e37f1489801eb0723b0721', '7f0e27f0e47f14998082b0787b0722', '7f0e37f1487f531b0723b0b6fb0722', '977837f0e366a449801e9808297c35', '7f07e7f0e37f1489801eb0723b0721', '7f07e7f0e37f14998082b0787b0722', '7f0e37f0e47f531b0723b0b6fb0722', '977837f0e366a4497c369808297c35', '7ec967f0e37f1489801eb0723b06bd', '7f07e7f0e37f14998082b0787b0722', '7f0e37f0e47f53198083b0b6fb0722', '7f0e37f0e366a4497c369808297c35', '7ec967f0e37f1489801eb0723b06bd', '7f07e7f0e37f14898082b0787b0721', '7f0e27f0e47f14998083b0b6fb0722', '7f0e37f0e366a4497c369808297c35', '7ec967f0e366aa89801eb0723b06bd', '7f07e7f0e37f14898082b0787b0721', '7f0e27f0e47f14998082b0787b0722', '7f0e37f0e366a4497c369808297c35', '7ec967f0e366aa89801eb0723b06bd', '7f07e7f0e37f14898082b0787b0721', '7f0e27f0e47f14998082b0787b0722', '7f0e37f0e366a4497c369808297c35', '7ec967f0e366a449801e98082b06bd', '7f07e7f0e37f14898082b0787b0721', '7f0e27f0e47f14998082b0787b0722', '7f0e37ecfb66a4497c369808297c35', '7ec967f0e366a449801e98082b02d5', '7f07e7f0e37f1489801eb0787b0721', '7f0e27f0e47f14998082b0787b0722', '7f0e36665b66a4497c369808297c35', '7ec967f0e366a449801e98082b02d5', '7f07e7f0e37f1489801eb0723b0721', '7f0e27f0e47f14998082b0787b0722', '7f0e36665b66a4497c369808297c35', '7ec967f0e366a4497c369808297c35', '7f07e7f0e37f1489801eb0723b0721', '7f0e27f0e37f14998082b0787b0722', '7f0e3665f766a447f5969808297c35', '7ec967f0e366a4497c369808297c35', '7ec967f0e37f1489801eb0723b06bd', '7f07e7f0e37f14898082b0787b0722', '7f0e3665f76665c7f5969808297c35', '665f67f0e366a4497c369808297c35', '7ec967f0e37f1489801eb0723b06bd', '7f07e7f0e37f14898082b0787b0721', '7f0e27f0e47f14998082b0b6fb0722', '7f0e397bd07f531b0723b0b6fb0722', '9778397bd07f595b0b0bc9210c91aa', '97b6b97bd097c35b0b6fc9274c920e', '97bcf7f0e47f14998082b0787b0722', '7f0e397bd07f531b0723b0b6fb0722', '9778397bd07f531b0b0bc9210c91aa', '97b6b97bd097c35b0b6fc9274c920e', '97bcf7f0e47f14998082b0787b0722', '7f0e397bd07f531b0723b0b6fb0722', '9778397bd07f531b0b0bb0b6fc91aa', '97b6b97bd097c35b0b0bc9274c920e', '97bcf7f0e47f14998082b0787b0722', '7f0e3977e87f531b0723b0b6fb0722', '9778397bd07f531b0b0bb0b6fc8dc2', '97b6b97bd097c35b0b0bc9210c920e', '97bcf7f0e47f14998082b0787b0722', '7f0e37f1487f531b0723b0b6fb0722', '9778397bd07f531b0723b0b6fb0722', '97b6b97bd097c35b0b0bc9210c920e', '97bcf7f0e37f14998082b0787b0722', '7f0e37f1487f53198083b0b6fb0722', '9778397bd07f531b0723b0b6fb0722', '97b6b97bd097c35b0b0bc9210c920e', '97bcf7f0e37f14998082b0787b0722', '7f0e37f0e47f53198083b0b6fb0722', '9778397bd07f531b0723b0b6fb0722', '97b6b97bd097c35b0b0bc9210c91aa', '97b6b7f0e37f14898082b0787b0722', '7f0e37f0e47f14998082b0b6fb0722', '9778397bd07f531b0723b0b6fb0722', '9778397bd07f595b0b0bc9210c91aa', '97b6b7f0e37f14898082b0787b0721', '7f0e27f0e47f14998082b0787b0722', '7f0e397bd07f531b0723b0b6fb0722', '9778397bd07f595b0b0bc9210c91aa', '97b6b7f0e37f14898082b0787b0721', '7f0e27f0e47f14998082b0787b0722', '7f0e397bd07f531b0723b0b6fb0722', '9778397bd07f531b0b0bb0b70c91aa', '97b6b7f0e37f14898082b0787b0721', '7f0e27f0e47f14998082b0787b0722', '7f0e397bd07f531b0723b0b6fb0722', '9778397bd07f531b0b0bb0b6fc91aa', '97b6b7f0e37f1489801eb0723b0721', '7f0e27f0e47f14998082b0787b0722', '7f0e3977e87f531b0723b0b6fb0722', '9778397bd07f531b0723b0b6fc8dc2', '97b6b7f0e37f1489801eb0723b0721', '7f0e27f0e47f14998082b0787b0722', '7f0e37f1487f53198083b0b6fb0722', '9778397bd07f531b0723b0b6fb0722', '97b6b7f0e37f1489801eb0723b0721', '7f0e27f0e37f14898082b0787b0722', '7f0e37f0e47f53198083b0b6fb0722', '9778397bd07f531b0723b0b6fb0722', '97b6b7f0e37f1489801eb0723b0721', '7f0e27f0e37f14898082b0787b0722', '7f0e37f0e47f14998083b0b6fb0722', '9778397bd07f531b0723b0b6fb0722', '97b6b7f0e37f1489801eb0723b0721', '7f07e7f0e37f14898082b0787b0722', '7f0e37f0e47f14998082b0b6fb0722', '9778397bd07f531b0723b0b6fb0722', '977837f0e366aa89801eb0723b06bd', '7f07e7f0e37f14898082b0787b0721', '7f0e27f0e47f14998082b0787b0722', '7f0e397bd07f531b0723b0b6fb0722', '977837f0e366a449801e98083b06bd', '7f07e7f0e37f14898082b0787b0721', '7f0e27f0e47f14998082b0787b0722', '7f0e397bd07f531b0723b0b6fb0722', '977837f0e366a449801e98082b06bd', '7f07e7f0e37f1489801eb0787b0721', '7f0e27f0e47f14998082b0787b0722', '7f0e397bd07f531b0723b0b6fb0722', '977837f0e366a4497c3698082b06bd', '7f07e7f0e37f1489801eb0723b0721', '7f0e27f0e47f14998082b0787b0722', '7f0e3977e87f53198083b0b6fb0722', '977837f0e366a4497c3698082b02d5', '7f07e7f0e37f1489801eb0723b0721', '7f0e27f0e37f14998082b0787b0722', '7f0e37f1487f53198083b0b6fb0722', '977837f0e366a4497c369808297c35', '7f07e7f0e37f1489801eb0723b0721', '7f0e27f0e37f14898082b0787b0722', '7f0e37f0e47f14998083b0b6fb0722', '977837f0e366a4497c369808297c35', '7f07e7f0e37f1489801eb0723b0721', '7f0e27f0e37f14898082b0787b0722', '7f0e37f0e47f14998082b0b6fb0722', '977837f0e366a4497c369808297c35', '7f07e7f0e366aa89801eb0723b0721', '7f0e27f0e37f14898082b0787b0722', '7f0e37f0e47f14998082b0787b0722', '977837f0e366a4497c369808297c35', '7ec967f0e366a449801eb0723b06bd', '7f07e7f0e37f14898082b0787b0722', '7f0e37f0e47f14998082b0787b0722', '7f0e397bd07f531b0723b0b6fb0722', '9778397bd07f531b0b0bb0b70c91aa', '97b6b97bd097c35b0b0bc9274c920e', '97bcf97bd197c36b0b6fc9274c920f', '97bd097bd07f531b0723b0b6fb0722', '9778397bd07f531b0723b0b6fc91aa', '97b6b97bd097c35b0b0bc9210c920e', '97bcf97bd197c36b0b6fc9274c920f', '97bd097bd07f53198083b0b6fb0722', '9778397bd07f531b0723b0b6fc91aa', '97b6b97bd097c35b0b0bc9210c920e', '97bcf97bd197c36b0b6fc9274c920f', '97bd0977e87f53198083b0b6fb0722', '9778397bd07f531b0723b0b6fc8dc2', '97b6b97bd097c35b0b0bc9210c920e', '97bcf97bd097c35b0b6fc9274c920f', '97bd07f1487f53198083b0b6fb0722', '9778397bd07f531b0723b0b6fb0722', '97b6b97bd097c35b0b0bc9210c920e', '97bcf97bd097c35b0b6fc9274c920f', '97bd07f0e47f14998082b0b6fb0722', '9778397bd07f531b0723b0b6fb0722', '97b6b97bd097c35b0b0bc9210c920e', '97bcf97bd097c35b0b6fc9274c920f', '97bd07f0e47f14998082b0787b0722', '9778397bd07f531b0723b0b6fb0722', '97b6b97bd07f531b0b0bc9210c920e', '97bcf97bd097c35b0b6fc9274c920f', '97bd07f0e47f14998082b0787b0722', '9778397bd07f531b0723b0b6fb0722', '9778397bd07f531b0b0bb0b70c91aa', '97b6b97bd097c35b0b0bc9274c920f', '97bd07f0e47f14998082b0787b0722', '9778397bd07f531b0723b0b6fb0722', '9778397bd07f531b0b0bb0b70c91aa', '97b6b97bd097c35b0b0bc9274c920e', '97bcf7f0e47f14998082b0787b0722', '7f0e397bd07f531b0723b0b6fb0722', '9778397bd07f531b0723b0b6fc91aa', '97b6b97bd097c35b0b0bc9210c920e', '97bcf7f0e47f14998082b0787b0722', '7f0e3977e87f53198083b0b6fb0722', '9778397bd07f531b0723b0b6fc91aa', '97b6b97bd097c35b0b0bc9210c920e', '97bcf7f0e37f14898082b0787b0722', '7f0e3977e87f53198083b0b6fb0722', '9778397bd07f531b0723b0b6fb0722', '97b6b97bd097c35b0b0bc9210c920e', '97bcf7f0e37f14898082b0787b0722', '7f0e37f1487f14998082b0b6fb0722', '9778397bd07f531b0723b0b6fb0722', '97b6b97bd097c35b0b0bc9210c920e', '97bcf7f0e37f14898082b0787b0722', '7f0e37f0e47f14998082b0b6fb0722', '9778397bd07f531b0723b0b6fb0722', '97b6b97bd07f595b0b0bc9210c920e', '97bcf7f0e37f14898082b0787b0722', '7f0e37f0e47f14998082b0787b0722', '9778397bd07f531b0723b0b6fb0722', '97b6b97bd07f531b0b0bb0b70c920e', '97bcf7f0e37f1489801eb0787b0722', '7f0e37f0e47f14998082b0787b0722', '9778397bd07f531b0723b0b6fb0722', '97b6b97bd07f531b0723b0b70c91aa', '97b6b7f0e37f1489801eb0787b0722', '7f0e37f0e47f14998082b0787b0722', '9778397bd07f531b0723b0b6fb0722', '9778397bd07f531b0723b0b6fc91aa', '97b6b7f0e37f1489801eb0787b0721', '7f0e27f0e47f14998082b0787b0722', '7f0e397bd07f53198083b0b6fb0722', '9778397bd07f531b0723b0b6fc91aa', '97b6b7f0e37f1489801eb0723b0721', '7f0e27f0e47f14898082b0787b0722', '7f0e397bd07f53198083b0b6fb0722', '9778397bd07f531b0723b0b6fc91aa', '97b6b7f0e37f1489801eb0723b0721', '7f0e27f0e37f14898082b0787b0722', '7f0e3977e87f53198082b0b6fb0722', '9778397bd07f531b0723b0b6fb0722', '97b6b7f0e37f1489801eb0723b0721', '7f0e27f0e37f14898082b0787b0722', '7f0e37f0e47f14998082b0b6fb0722', '9778397bd07f531b0723b0b6fb0722', '97b6b7f0e366aa89801eb0723b0721', '7f0e27f0e37f14898082b0787b0722', '7f0e37f0e47f14998082b0787b0722', '9778397bd07f531b0723b0b6fb0722', '97b6b7f0e366a449801e98083b0721', '7f0e27f0e37f1489801eb0787b0722', '7f0e37f0e47f14998082b0787b0722', '9778397bd07f531b0723b0b6fb0722', '97b6b7f0e366a449801e98083b0721', '7f0e27f0e37f1489801eb0787b0722', '7f0e37f0e47f14998082b0787b0722', '9778397bd07f531b0723b0b6fb0722', '97b6b7f0e366a4497c3698083b06bd', '7f07e7f0e37f1489801eb0787b0722', '7f0e37f0e47f14998082b0787b0722', '9778397bd07f53198083b0b6fb0722', '9778397bd07f531b0723b0b6fc91aa', '97b6b97bd097c35b0b0bc9210c920e', '97bcf97bd197c35b0b6fc9274c920f', '97bd0b06bd9801eb0b70c965cc920f', 'b027097bd07f531b0723b0b6fc91aa', '97b6b97bd097c35b0b0bc9210c920e', '97bcf97bd197c35b0b6fc9274c920f', '97bd0b06bd9801eb0b70c965cc920f', 'b027097bd07f531b0723b0b6fc91aa', '97b6b97bd097c35b0b0bc9210c920e', '97bcf97bd097c35b0b6fc9274c920f', '97bd0b02d597c36b0b6fc965cc920f', 'b027097bd07f531b0723b0b6fb0722', '97b6b97bd097c35b0b0bc9210c920e', '97bcf97bd097c35b0b6fc9274c920f', '97bd097bd197c36b0b6fc9274c920f', 'b027097bd07f531b0723b0b6fb0722', '97b6b97bd07f531b0b0bc9210c920e', '97bcf97bd097c35b0b0bc9274c920f', '97bd097bd197c36b0b6fc9274c920f', 'b027097bd07f531b0723b0b6fb0722', '97b6b97bd07f531b0b0bb0b70c920e', '97bcf97bd097c35b0b0bc9274c920f', '97bd097bd197c36b0b6fc9274c920f', 'b027097bd07f531b0723b0b6fb0722', '97b6b97bd07f531b0723b0b70c920e', '97bcf97bd097c35b0b0bc9274c920f', '97bd097bd197c36b0b6fc9274c920f', 'b027097bd07f53198083b0b6fb0722', '97b6b97bd07f531b0723b0b70c91aa', '97bcf97bd097c35b0b0bc9274c920f', '97bd097bd197c36b0b6fc9274c920f', 'b027097bd07f53198083b0b6fb0722', '9778397bd07f531b0723b0b6fc91aa', '97b6b97bd097c35b0b0bc9210c920e', '97bcf97bd197c35b0b6fc9274c920f', '97bd097bd07f53198083b0b6fb0722', '9778397bd07f531b0723b0b6fc91aa', '97b6b97bd097c35b0b0bc9210c920e', '97bcf97bd097c35b0b6fc9274c920f', '97bd0977e87f14998082b0b6fb0722', '9778397bd07f531b0723b0b6fc91aa', '97b6b97bd097c35b0b0bc9210c920e', '97bcf97bd097c35b0b6fc9274c920f', '97bd0977e87f14998082b0b6fb0722', '9778397bd07f531b0723b0b6fb0722', '97b6b97bd097bd1b0b0bc9210c920e', '97bcf97bd097c35b0b0bc9274c920f', '97bd07f0e47f14998082b0787b0722', '9778397bd07f531b0723b0b6fb0722', '97b6b97bd07f531b0b0bb0b70c920e', '97bcf97bd097c35b0b0bc9274c920f', '97bd07f0e47f14998082b0787b0722', '9778397bd07f531b0723b0b6fb0722', '97b6b97bd07f531b0723b0b70c920e', '97bcf97bd097c35b0b0bc9274c920f', '97bd07f0e47f14998082b0787b0722', '9778397bd07f53198083b0b6fb0722', '97b6b97bd07f531b0723b0b70c920e', '97bcf97bd097c35b0b0bc9274c920f', '97bd07f0e47f14998082b0787b0722', '9778397bd07f53198083b0b6fb0722', '97b6b97bd07f531b0723b0b6fc91aa', '97bcf97bd097c35b0b0bc9210c920f', '97bd07f0e47f14898082b0787b0722', '9778397bd07f53198083b0b6fb0722', '9778397bd07f531b0723b0b6fc91aa', '97b6b97bd097c35b0b0bc9210c920f', '97bcf7f0e47f14898082b0787b0722', '7f0e397bd07f53198082b0b6fb0722', '9778397bd07f531b0723b0b6fc91aa', '97b6b97bd097c35b0b0bc9210c920e', '97bcf7f0e37f14898082b0787b0722', '7f0e3977e87f14998082b0b6fb0722', '9778397bd07f531b0723b0b6fc8dc2', '97b6b97bd097bd1b0b0bc9210c920e', '97bcf7f0e37f1489801eb0787b0722', '7f0e3977e87f14998082b0b6fb0722', '9778397bd07f531b0723b0b6fb0722', '97b6b97bd07f531b0b0bb0b70c920e', '97bcf7f0e37f1489801eb0787b0722', '7f0e37f0e47f14998082b0787b0722', '9778397bd07f531b0723b0b6fb0722', '97b6b97bd07f531b0723b0b70c920e', '97bcf7f0e37f1489801eb0787b0722', '7f0e37f0e47f14998082b0787b0722', '9778397bd07f53198083b0b6fb0722', '97b6b97bd07f531b0723b0b70c920e', '97bcf7f0e37f1489801eb0787b0722', '7f0e37f0e47f14998082b0787b0722', '9778397bd07f53198083b0b6fb0722', '97b6b97bd07f531b0723b0b70c920e', '97bcf7f0e37f1489801eb0723b0722', '7f0e37f0e47f14898082b0787b0722', '9778397bd07f53198083b0b6fb0722', '97b6b97bd07f531b0723b0b6fc91aa', '97bcf7f0e37f1489801eb0723b0722', '7f0e37f0e47f14898082b0787b0722', '9778397bd07f53198082b0b6fb0722', '97b6b97bd07f531b0723b0b6fc91aa', '97b6b7f0e37f1489801eb0723b0722', '7f0e37f0e47f14898082b0787b0722', '9778397bd07f14998082b0b6fb0722', '9778397bd07f531b0723b0b6fc91aa', '97b6b7f0e37f1489801eb0723b0721', '7f0e27f0e37f14898082b0787b0722', '7f0e3977e87f14998082b0b6fb0722', '9778397bd07f531b0723b0b6fc8dc2', '97b6b7f0e37f0e49801e98083b0721', '7f0e27f0e37f1489801eb0787b0722', '7f0e3977e87f14998082b0787b0722', '9778397bd07f531b0723b0b6fb0722', '97b6b7f0e366a4497c3698083b0721', '7f0e27f0e37f1489801eb0787b0722', '7f0e37f0e47f14998082b0787b0722', '9778397bd07f53198083b0b6fb0722', '97b6b7f0e366a4497c3698083b0721', '7f0e27f0e37f1489801eb0787b0722', '7f0e37f0e47f14998082b0787b0722', '9778397bd07f53198083b0b6fb0722', '97b6b7f0e366a4497c3698083b0721', '7f0e27f0e37f1489801eb0787b0722', '7f0e37f0e47f14898082b0787b0722', '9778397bd07f53198083b0b6fb0722', '97b6b7f0e366a4497c3698082b0721', '7f0e27f0e37f1489801eb0723b0722', '7f0e37f0e47f14898082b0787b0722', '9778397bd07f53198082b0b6fb0722', '97b6b7f0e366a4497c3698082b06bd', '7f0e27f0e37f1489801eb0723b0722', '7f0e37f0e47f14898082b0787b0722', '9778397bd07f14998082b0b6fb0722', '97b6b7f0e366a4497c3698082b06bd', '7f07e7f0e37f1489801eb0723b0722', '7f0e37f0e37f14898082b0787b0722', '9778397bd07f14998082b0b6fb0722', '977837f0e366a4497c3698082b06bd', '7f07e7f0e37f0e49801eb0723b0721', '7f0e27f0e37f1489801eb0787b0722', '7f0e3977e87f14998082b0787b0722', '977837f0e366a4497c369808297c35', '7f07e7f0e366a4497c3698083b0721', '7f0e27f0e37f1489801eb0787b0722', '7f0e3977e87f14998082b0787b0722', '977837f0e366a447f5969808297c35', '7f07e7f0e366a4497c3698083b0721', '7f0e27f0e37f1489801eb0787b0722', '7f0e37f0e47f14998082b0787b0722', '977837f0e366a447f5969808297c35', '7f07e7f0e366a4497c3698083b0721', '7f0e27f0e37f1489801eb0787b0722', '7f0e37f0e47f14898082b0787b0722', '977837f0e366a447f5969808297c35', '7f07e7f0e366a4497c3698083b0721', '7f0e27f0e37f1489801eb0787b0722', '7f0e37f0e47f14898082b0787b0722', '977837f0e366a447f5959808297c35', '7f07e7f0e366a4497c3698082b0721', '7f0e27f0e37f1489801eb0723b0722', '7f0e37f0e47f14898082b0787b0722', '977837f0e366a447f5959808297c35', '7f07e7f0e366a4497c3698082b06bd', '7f0e27f0e37f1489801eb0723b0722', '7f0e37f0e47f14898082b0787b0722', '977837f0e36665c7f5959808297c35', '7f07e7f0e366a4497c3698082b06bd', '7f07e7f0e37f0e49801eb0723b0722', '7f0e37f0e37f1489801eb0787b0722', '977837f0e36665c7f59597c9a97c35', '7ec967f0e366a4497c3698082b06bd', '7f07e7f0e37f0e497c3698083b0721', '7f0e27f0e37f1489801eb0787b0722', '7f0e37ecfb6665c7f59597c9a97c35', '7ec967f0e366a4497c369808297c35', '7f07e7f0e366a4497c3698083b0721', '7f0e27f0e37f1489801eb0787b0722', '7f0e37ecfb6665c7f59597c9a97c35', '7ec967f0e366a447f5969808297c35', '7f07e7f0e366a4497c3698083b0721', '7f0e27f0e37f1489801eb0787b0722', '7f0e37ec976665c7f59597c9a97c35', '7ec967f0e366a447f5969808297c35', '7f07e7f0e366a4497c3698083b0721', '7f0e27f0e37f1489801eb0787b0722', '7f0e3665f76665b7f59597c9a97c35', '7ec967f0e366a447f5959808297c35', '7f07e7f0e366a4497c3698082b0721', '7f0e27f0e37f1489801eb0723b0722', '7f0e3665f76665b7f59597c9a97c35', '7ec967f0e366a447f5959808297c35', '7f07e7f0e366a4497c3698082b0721', '7f0e27f0e37f1489801eb0723b0722', '7f0e3665f76665b7f59597c9a97c35', '7ec967f0e36665c7f5959808297c35', '7f07e7f0e366a4497c3698082b06bd', '7f0e27f0e37f1489801eb0723b0722', '7f0e3665f76665b7f53197c9a97c35', '7ec967f0e36665c7f5959808297c35', '7f07e7f0e366a4497c3698082b06bd', '7f0e27f0e37f0e497c3698083b0722', '7f0e37f0e37f1489801eb0787b0722', '9778397bd07f14998082b0787b0722', '9778397bd07f53198083b0b6fc91aa', '97b6b97bd07f531b0723b0b70c920e', '97bcf7f0e37f1489801eb0787b0722', '7f0e3977e87f14998082b0787b0722', '9778397bd07f53198083b0b6fb0722', '97b6b97bd07f531b0723b0b70c920e', '97bcf7f0e37f1489801eb0787b0722', '7f0e3977847f14998082b0787b0722', '9778397bd07f53198083b0b6fb0722', '97b6b97bd07f531b0723b0b70c920e', '97bcf7f0e37f1489801eb0787b0722', '7f0e3977847f14898082b0787b0722', '9778397bd07f53198083b0b6fb0722', '97b6b97bd07f531b0723b0b70c920e', '97bcf7f0e37f1489801eb0787b0722', '7f0e37f0e47f14898082b0787b0722', '9778397bd07f53198082b0b6fb0722', '97b6b97bd07f531b0723b0b6fc920e', '97bcf7f0e37f1489801eb0723b0722', '7f0e37f0e47f14898082b0787b0722', '9778397bd07f14998082b0b6fb0722', '97b6b97bd07f531b0723b0b6fc920e', '97bcf7f0e37f1489801eb0723b0722', '7f0e37f0e47f1489801eb0787b0722', '9778397bd07f14998082b0b6fb0722', '97b6b97bd07f531b0723b0b6fc91aa', '97bcf7f0e37f0e497c3698083b0722', '7f0e37f0e47f1489801eb0787b0722', '9778397bd07f14998082b0787b0722', '97b6b97bd07f531b0723b0b6fc91aa', '97bcf7f0e37f0e497c3698083b0722', '7f0e37f0e37f1489801eb0787b0722', '9778397bd07f14998082b0787b0722', '97b6b97bd07f53198083b0b6fc91aa', '97b6b7f0e366a4497c3698083b0721', '7f0e27f0e37f1489801eb0787b0722', '7f0e3977e87f14998082b0787b0722', '9778397bd07f53198083b0b6fb0722', '97b6b7f0e366a4497c3698083b0721', '7f0e27f0e37f1489801eb0787b0722', '7f0e3977847f14898082b0787b0722', '9778397bd07f53198083b0b6fb0722', '97b6b7f0e366a4497c3698083b0721', '7f0e27f0e37f1489801eb0787b0722', '7f0e3977847f14898082b0787b0722', '9778397bd07f53198082b0b6fb0722', '97b6b7f0e366a4497c3698083b0721', '7f0e27f0e37f1489801eb0723b0722', '7f0e37f0e47f14898082b0787b0722', '9778397bd07f53198082b0b6fb0722', '97b6b7f0e366a4497c3698082b0721', '7f0e27f0e37f1489801eb0723b0722', '7f0e37f0e47f1489801eb0787b0722', '9778397bd07f14998082b0b6fb0722', '97b6b7f0e366a4497c3698082b0721', '7f0e27f0e37f0e497c3698083b0722', '7f0e37f0e47f1489801eb0787b0722', '9778397bd07f14998082b0787b0722', '97b6b7f0e366a4497c3698082b06bd', '7f0e27f0e37f0e497c3698083b0722', '7f0e37f0e37f1489801eb0787b0722', '9778397bd07f14998082b0787b0722', '97b6b7f0e366a447f59698082b06bd', '7f0e27f0e366a4497c3698083b0722', '7f0e37f0e37f1489801eb0787b0722', '9778397bd07f14998082b0787b0722', '97b6b7f0e366a447f596980829801d', '7f07e7f0e366a4497c3698083b0722', '7f0e37f0e37f1489801eb0787b0722', '97783977e87f14898082b0787b0722', '977837f0e366a447f5969808297c35', '7f07e7f0e366a4497c3698083b0721', '7f0e27f0e37f1489801eb0787b0722', '7f0e3977847f14898082b0787b0722', '977837f0e366a447f5959808297c35', '7f07e7f0e366a4497c3698083b0721', '7f0e27f0e37f1489801eb0723b0722', '7f0e3977847f14898082b0787b0722', '977837f0e366a447f5959808297c35', '7f07e7f0e366a4497c3698082b0721', '7f0e27f0e37f1489801eb0723b0722', '7f0e37f0e47f1489801eb0787b0722', '977837f0e36665c7f5959808297c35', '7f07e7f0e366a4497c3698082b0721', '7f0e27f0e37f0e49801eb0723b0722', '7f0e37f0e47f1489801eb0787b0722', '977837f0e36665c7f5959808297c35', '7f07e7f0e366a4497c3698082b0721', '7f0e27f0e37f0e497c3698083b0722', '7f0e37f0e47f1489801eb0787b0722', '977837f0e36665c7f59597c9a97c35', '7f07e7f0e366a447f59698082b06bd', '7f0e27f0e37f0e497c3698083b0722', '7f0e37f0e37f1489801eb0787b0722', '977837f0e36665c7f59597c9a97c35', '7f07e7f0e366a447f59698082b06bd', '7f0e27f0e366a4497c3698083b0722', '7f0e37f0e37f1489801eb0787b0722', '9778397bd07f14898082b0787b0722'];
  330. var nStr1 = ["\u65E5", "\u4E00", "\u4E8C", "\u4E09", "\u56DB", "\u4E94", "\u516D", "\u4E03", "\u516B", "\u4E5D", "\u5341"];
  331. var nStr2 = ["\u521D", "\u5341", "\u5EFF", "\u5345"];
  332. var nStr3 = ["\u6B63", "\u4E8C", "\u4E09", "\u56DB", "\u4E94", "\u516D", "\u4E03", "\u516B", "\u4E5D", "\u5341", "\u51AC", "\u814A"];
  333. /**
  334. * @1900-3000区间内的公历、农历互转
  335. * @charset UTF-8
  336. * @Author Jea杨(JJonline@JJonline.Cn)
  337. * @Time 2014-7-21
  338. * @Time 2016-8-13 Fixed 2033hex、Attribution Annals
  339. * @Time 2016-9-25 Fixed lunar LeapMonth Param Bug
  340. * @Time 2017-7-24 Fixed use getTerm Func Param Error.use solar year,NOT lunar year
  341. * @Version 1.0.3
  342. * @公历转农历:calendar.solar2lunar(1987,11,01); //[you can ignore params of prefix 0]
  343. * @农历转公历:calendar.lunar2solar(1987,09,10); //[you can ignore params of prefix 0]
  344. */
  345. var calendar = {
  346. /**
  347. * 农历1900-3000的闰大小信息表
  348. * @Array Of Property
  349. * @return Hex
  350. */
  351. lunarInfo: lunarInfo,
  352. /**
  353. * 公历每个月份的天数普通表
  354. * @Array Of Property
  355. * @return Number
  356. */
  357. solarMonth: solarMonth,
  358. /**
  359. * 天干地支之天干速查表
  360. * @Array Of Property trans["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"]
  361. * @return Cn string
  362. */
  363. Gan: Gan,
  364. /**
  365. * 天干地支之地支速查表
  366. * @Array Of Property
  367. * @trans["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"]
  368. * @return Cn string
  369. */
  370. Zhi: Zhi,
  371. /**
  372. * 天干地支之地支速查表<=>生肖
  373. * @Array Of Property
  374. * @trans["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"]
  375. * @return Cn string
  376. */
  377. Animals: ChineseZodiac,
  378. /**
  379. * 阳历节日
  380. */
  381. festival: festival,
  382. /**
  383. * 农历节日
  384. */
  385. lFestival: lFestival,
  386. /**
  387. * 24节气速查表
  388. * @Array Of Property
  389. * @trans["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"]
  390. * @return Cn string
  391. */
  392. solarTerm: solarTerm,
  393. /**
  394. * 1900-3000各年的24节气日期速查表
  395. * @Array Of Property
  396. * @return 0x string For splice
  397. */
  398. sTermInfo: sTermInfo,
  399. /**
  400. * 数字转中文速查表
  401. * @Array Of Property
  402. * @trans ['日','一','二','三','四','五','六','七','八','九','十']
  403. * @return Cn string
  404. */
  405. nStr1: nStr1,
  406. /**
  407. * 日期转农历称呼速查表
  408. * @Array Of Property
  409. * @trans ['初','十','廿','卅']
  410. * @return Cn string
  411. */
  412. nStr2: nStr2,
  413. /**
  414. * 月份转农历称呼速查表
  415. * @Array Of Property
  416. * @trans ['正','一','二','三','四','五','六','七','八','九','十','冬','腊']
  417. * @return Cn string
  418. */
  419. nStr3: nStr3,
  420. /**
  421. * 返回默认定义的阳历节日
  422. */
  423. getFestival: function getFestival() {
  424. return this.festival;
  425. },
  426. /**
  427. * 返回默认定义的内容里节日
  428. */
  429. getLunarFestival: function getLunarFestival() {
  430. return this.lFestival;
  431. },
  432. /**
  433. *
  434. * @param param {Object} 按照festival的格式输入数据,设置阳历节日
  435. */
  436. setFestival: function setFestival() {
  437. var param = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  438. this.festival = param;
  439. },
  440. /**
  441. *
  442. * @param param {Object} 按照lFestival的格式输入数据,设置农历节日
  443. */
  444. setLunarFestival: function setLunarFestival() {
  445. var param = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  446. this.lFestival = param;
  447. },
  448. /**
  449. * 返回农历y年一整年的总天数
  450. * @param y lunar Year
  451. * @return Number
  452. * @eg:var count = calendar.lYearDays(1987) ;//count=387
  453. */
  454. lYearDays: function lYearDays(y) {
  455. var i,
  456. sum = 348;
  457. for (i = 0x8000; i > 0x8; i >>= 1) {
  458. sum += this.lunarInfo[y - 1900] & i ? 1 : 0;
  459. }
  460. return sum + this.leapDays(y);
  461. },
  462. /**
  463. * 返回农历y年闰月是哪个月;若y年没有闰月 则返回0
  464. * @param y lunar Year
  465. * @return Number (0-12)
  466. * @eg:var leapMonth = calendar.leapMonth(1987) ;//leapMonth=6
  467. */
  468. leapMonth: function leapMonth(y) {
  469. //闰字编码 \u95f0
  470. return this.lunarInfo[y - 1900] & 0xf;
  471. },
  472. /**
  473. * 返回农历y年闰月的天数 若该年没有闰月则返回0
  474. * @param y lunar Year
  475. * @return Number (0、29、30)
  476. * @eg:var leapMonthDay = calendar.leapDays(1987) ;//leapMonthDay=29
  477. */
  478. leapDays: function leapDays(y) {
  479. if (this.leapMonth(y)) {
  480. return this.lunarInfo[y - 1900] & 0x10000 ? 30 : 29;
  481. }
  482. return 0;
  483. },
  484. /**
  485. * 返回农历y年m月(非闰月)的总天数,计算m为闰月时的天数请使用leapDays方法
  486. * @param y lunar Year
  487. * @param m lunar Month
  488. * @return Number (-1、29、30)
  489. * @eg:var MonthDay = calendar.monthDays(1987,9) ;//MonthDay=29
  490. */
  491. monthDays: function monthDays(y, m) {
  492. if (m > 12 || m < 1) {
  493. return -1;
  494. } //月份参数从1至12,参数错误返回-1
  495. return this.lunarInfo[y - 1900] & 0x10000 >> m ? 30 : 29;
  496. },
  497. /**
  498. * 返回公历(!)y年m月的天数
  499. * @param y solar Year
  500. * @param m solar Month
  501. * @return Number (-1、28、29、30、31)
  502. * @eg:var solarMonthDay = calendar.leapDays(1987) ;//solarMonthDay=30
  503. */
  504. solarDays: function solarDays(y, m) {
  505. if (m > 12 || m < 1) {
  506. return -1;
  507. } //若参数错误 返回-1
  508. var ms = m - 1;
  509. if (ms === 1) {
  510. //2月份的闰平规律测算后确认返回28或29
  511. return y % 4 === 0 && y % 100 !== 0 || y % 400 === 0 ? 29 : 28;
  512. } else {
  513. return this.solarMonth[ms];
  514. }
  515. },
  516. /**
  517. * 农历年份转换为干支纪年
  518. * @param lYear 农历年的年份数
  519. * @return Cn string
  520. */
  521. toGanZhiYear: function toGanZhiYear(lYear) {
  522. var ganKey = (lYear - 3) % 10;
  523. var zhiKey = (lYear - 3) % 12;
  524. if (ganKey === 0) ganKey = 10; //如果余数为0则为最后一个天干
  525. if (zhiKey === 0) zhiKey = 12; //如果余数为0则为最后一个地支
  526. return this.Gan[ganKey - 1] + this.Zhi[zhiKey - 1];
  527. },
  528. /**
  529. * 公历月、日判断所属星座
  530. * @return Cn string
  531. * @param cMonth
  532. * @param cDay
  533. */
  534. toAstro: function toAstro(cMonth, cDay) {
  535. var s = "\u6469\u7FAF\u6C34\u74F6\u53CC\u9C7C\u767D\u7F8A\u91D1\u725B\u53CC\u5B50\u5DE8\u87F9\u72EE\u5B50\u5904\u5973\u5929\u79E4\u5929\u874E\u5C04\u624B\u6469\u7FAF";
  536. var arr = [20, 19, 21, 21, 21, 22, 23, 23, 23, 23, 22, 22];
  537. var start = cMonth * 2 - (cDay < arr[cMonth - 1] ? 2 : 0);
  538. return s.slice(start, start + 2) + "\u5EA7"; //座
  539. },
  540. /**
  541. * 传入offset偏移量返回干支
  542. * @param offset 相对甲子的偏移量
  543. * @return Cn string
  544. */
  545. toGanZhi: function toGanZhi(offset) {
  546. return this.Gan[offset % 10] + this.Zhi[offset % 12];
  547. },
  548. /**
  549. * 传入公历(!)y年获得该年第n个节气的公历日期
  550. * @param y y公历年(1900-3000)
  551. * @param n n二十四节气中的第几个节气(1~24);从n=1(小寒)算起
  552. * @return day Number
  553. * @eg:var _24 = calendar.getTerm(1987,3) ;//_24=4;意即1987年2月4日立春
  554. */
  555. getTerm: function getTerm(y, n) {
  556. if (y < 1900 || y > 3000 || n < 1 || n > 24) {
  557. return -1;
  558. }
  559. var _table = this.sTermInfo[y - 1900];
  560. var _calcDay = [];
  561. for (var index = 0; index < _table.length; index += 5) {
  562. var chunk = parseInt('0x' + _table.slice(index, index + 5)).toString();
  563. _calcDay.push(chunk[0], chunk.slice(1, 3), chunk[3], chunk.slice(4, 6));
  564. }
  565. return parseInt(_calcDay[n - 1]);
  566. },
  567. /**
  568. * 传入农历数字月份返回汉语通俗表示法
  569. * @param m lunar month
  570. * @return Cn string
  571. * @eg:var cnMonth = calendar.toChinaMonth(12) ;//cnMonth='腊月'
  572. */
  573. toChinaMonth: function toChinaMonth(m) {
  574. // 月 => \u6708
  575. if (m > 12 || m < 1) {
  576. return -1;
  577. } //若参数错误 返回-1
  578. var s = this.nStr3[m - 1];
  579. s += "\u6708"; //加上月字
  580. return s;
  581. },
  582. /**
  583. * 传入农历日期数字返回汉字表示法
  584. * @param d lunar day
  585. * @return Cn string
  586. * @eg:var cnDay = calendar.toChinaDay(21) ;//cnMonth='廿一'
  587. */
  588. toChinaDay: function toChinaDay(d) {
  589. //日 => \u65e5
  590. var s;
  591. switch (d) {
  592. case 10:
  593. s = "\u521D\u5341";
  594. break;
  595. case 20:
  596. s = "\u4E8C\u5341";
  597. break;
  598. case 30:
  599. s = "\u4E09\u5341";
  600. break;
  601. default:
  602. s = this.nStr2[Math.floor(d / 10)];
  603. s += this.nStr1[d % 10];
  604. }
  605. return s;
  606. },
  607. /**
  608. * 年份转生肖[!仅能大致转换] => 精确划分生肖分界线是“立春”
  609. * @param y year
  610. * @return Cn string
  611. * @eg:var animal = calendar.getAnimal(1987) ;//animal='兔'
  612. */
  613. getAnimal: function getAnimal(y) {
  614. return this.Animals[(y - 4) % 12];
  615. },
  616. /**
  617. * 传入阳历年月日获得详细的公历、农历object信息 <=>JSON
  618. * !important! 公历参数区间1900.1.31~3000.12.31
  619. * @param yPara solar year
  620. * @param mPara solar month
  621. * @param dPara solar day
  622. * @return JSON object
  623. * @eg:console.log(calendar.solar2lunar(1987,11,01));
  624. */
  625. solar2lunar: function solar2lunar(yPara, mPara, dPara) {
  626. var y = parseInt(yPara);
  627. var m = parseInt(mPara);
  628. var d = parseInt(dPara);
  629. //年份限定、上限
  630. if (y < 1900 || y > 3000) {
  631. return -1; // undefined转换为数字变为NaN
  632. }
  633. //公历传参最下限
  634. if (y === 1900 && m === 1 && d < 31) {
  635. return -1;
  636. }
  637. //未传参 获得当天
  638. var objDate;
  639. if (!y) {
  640. objDate = new Date();
  641. } else {
  642. objDate = new Date(y, parseInt(m) - 1, d);
  643. }
  644. var i,
  645. leap = 0,
  646. temp = 0;
  647. //修正ymd参数
  648. y = objDate.getFullYear();
  649. m = objDate.getMonth() + 1;
  650. d = objDate.getDate();
  651. var offset = (Date.UTC(objDate.getFullYear(), objDate.getMonth(), objDate.getDate()) - Date.UTC(1900, 0, 31)) / 86400000;
  652. for (i = 1900; i < 2101 && offset > 0; i++) {
  653. temp = this.lYearDays(i);
  654. offset -= temp;
  655. }
  656. if (offset < 0) {
  657. offset += temp;
  658. i--;
  659. }
  660. //是否今天
  661. var isTodayObj = new Date(),
  662. isToday = false;
  663. if (isTodayObj.getFullYear() === y && isTodayObj.getMonth() + 1 === m && isTodayObj.getDate() === d) {
  664. isToday = true;
  665. }
  666. //星期几
  667. var nWeek = objDate.getDay(),
  668. cWeek = this.nStr1[nWeek];
  669. //数字表示周几顺应天朝周一开始的惯例
  670. if (nWeek === 0) {
  671. nWeek = 7;
  672. }
  673. //农历年
  674. var year = i;
  675. leap = this.leapMonth(i); //闰哪个月
  676. var isLeap = false;
  677. //效验闰月
  678. for (i = 1; i < 13 && offset > 0; i++) {
  679. //闰月
  680. if (leap > 0 && i === leap + 1 && isLeap === false) {
  681. --i;
  682. isLeap = true;
  683. temp = this.leapDays(year); //计算农历闰月天数
  684. } else {
  685. temp = this.monthDays(year, i); //计算农历普通月天数
  686. }
  687. //解除闰月
  688. if (isLeap === true && i === leap + 1) {
  689. isLeap = false;
  690. }
  691. offset -= temp;
  692. }
  693. // 闰月导致数组下标重叠取反
  694. if (offset === 0 && leap > 0 && i === leap + 1) {
  695. if (isLeap) {
  696. isLeap = false;
  697. } else {
  698. isLeap = true;
  699. --i;
  700. }
  701. }
  702. if (offset < 0) {
  703. offset += temp;
  704. --i;
  705. }
  706. //农历月
  707. var month = i;
  708. //农历日
  709. var day = offset + 1;
  710. //天干地支处理
  711. var sm = m - 1;
  712. var gzY = this.toGanZhiYear(year);
  713. // 当月的两个节气
  714. // bugfix-2017-7-24 11:03:38 use lunar Year Param `y` Not `year`
  715. var firstNode = this.getTerm(y, m * 2 - 1); //返回当月「节」为几日开始
  716. var secondNode = this.getTerm(y, m * 2); //返回当月「节」为几日开始
  717. // 依据12节气修正干支月
  718. var gzM = this.toGanZhi((y - 1900) * 12 + m + 11);
  719. if (d >= firstNode) {
  720. gzM = this.toGanZhi((y - 1900) * 12 + m + 12);
  721. }
  722. //传入的日期的节气与否
  723. var isTerm = false;
  724. var Term = null;
  725. if (firstNode === d) {
  726. isTerm = true;
  727. Term = this.solarTerm[m * 2 - 2];
  728. }
  729. if (secondNode === d) {
  730. isTerm = true;
  731. Term = this.solarTerm[m * 2 - 1];
  732. }
  733. //日柱 当月一日与 1900/1/1 相差天数
  734. var dayCyclical = Date.UTC(y, sm, 1, 0, 0, 0, 0) / 86400000 + 25567 + 10;
  735. var gzD = this.toGanZhi(dayCyclical + d - 1);
  736. //该日期所属的星座
  737. var astro = this.toAstro(m, d);
  738. var solarDate = y + '-' + m + '-' + d;
  739. var lunarDate = year + '-' + month + '-' + day;
  740. var festival = this.festival;
  741. var lFestival = this.lFestival;
  742. var festivalDate = m + '-' + d;
  743. var lunarFestivalDate = month + '-' + day;
  744. // bugfix https://github.com/jjonline/calendar.js/issues/29
  745. // 农历节日修正:农历12月小月则29号除夕,大月则30号除夕
  746. // 此处取巧修正:当前为农历12月29号时增加一次判断并且把lunarFestivalDate设置为12-30以正确取得除夕
  747. // 天朝农历节日遇闰月过前不过后的原则,此处取农历12月天数不考虑闰月
  748. // 农历闰12月在本工具支持的200年区间内仅1574年出现
  749. if (month === 12 && day === 29 && this.monthDays(year, month) === 29) {
  750. lunarFestivalDate = '12-30';
  751. }
  752. return {
  753. date: solarDate,
  754. lunarDate: lunarDate,
  755. festival: festival[festivalDate] ? festival[festivalDate].title : null,
  756. lunarFestival: lFestival[lunarFestivalDate] ? lFestival[lunarFestivalDate].title : null,
  757. 'lYear': year,
  758. 'lMonth': month,
  759. 'lDay': day,
  760. 'Animal': this.getAnimal(year),
  761. 'IMonthCn': (isLeap ? "\u95F0" : '') + this.toChinaMonth(month),
  762. 'IDayCn': this.toChinaDay(day),
  763. 'cYear': y,
  764. 'cMonth': m,
  765. 'cDay': d,
  766. 'gzYear': gzY,
  767. 'gzMonth': gzM,
  768. 'gzDay': gzD,
  769. 'isToday': isToday,
  770. 'isLeap': isLeap,
  771. 'nWeek': nWeek,
  772. 'ncWeek': "\u661F\u671F" + cWeek,
  773. 'isTerm': isTerm,
  774. 'Term': Term,
  775. 'astro': astro
  776. };
  777. },
  778. /**
  779. * 传入农历年月日以及传入的月份是否闰月获得详细的公历、农历object信息 <=>JSON
  780. * !important! 参数区间1900.1.31~3000.12.1
  781. * @param y lunar year
  782. * @param m lunar month
  783. * @param d lunar day
  784. * @param isLeapMonth lunar month is leap or not.[如果是农历闰月第四个参数赋值true即可]
  785. * @return JSON object
  786. * @eg:console.log(calendar.lunar2solar(1987,9,10));
  787. */
  788. lunar2solar: function lunar2solar(y, m, d, isLeapMonth) {
  789. y = parseInt(y);
  790. m = parseInt(m);
  791. d = parseInt(d);
  792. isLeapMonth = !!isLeapMonth;
  793. var leapMonth = this.leapMonth(y);
  794. this.leapDays(y);
  795. if (isLeapMonth && leapMonth !== m) {
  796. return -1;
  797. } //传参要求计算该闰月公历 但该年得出的闰月与传参的月份并不同
  798. if (y === 3000 && m === 12 && d > 1 || y === 1900 && m === 1 && d < 31) {
  799. return -1;
  800. } //超出了最大极限值
  801. var day = this.monthDays(y, m);
  802. var _day = day;
  803. //bugFix 2016-9-25
  804. //if month is leap, _day use leapDays method
  805. if (isLeapMonth) {
  806. _day = this.leapDays(y, m);
  807. }
  808. if (y < 1900 || y > 3000 || d > _day) {
  809. return -1;
  810. } //参数合法性效验
  811. //计算农历的时间差
  812. var offset = 0;
  813. var i;
  814. for (i = 1900; i < y; i++) {
  815. offset += this.lYearDays(i);
  816. }
  817. var leap = 0,
  818. isAdd = false;
  819. for (i = 1; i < m; i++) {
  820. leap = this.leapMonth(y);
  821. if (!isAdd) {
  822. //处理闰月
  823. if (leap <= i && leap > 0) {
  824. offset += this.leapDays(y);
  825. isAdd = true;
  826. }
  827. }
  828. offset += this.monthDays(y, i);
  829. }
  830. //转换闰月农历 需补充该年闰月的前一个月的时差
  831. if (isLeapMonth) {
  832. offset += day;
  833. }
  834. //1900年农历正月一日的公历时间为1900年1月30日0时0分0秒(该时间也是本农历的最开始起始点)
  835. var strap = Date.UTC(1900, 1, 30, 0, 0, 0);
  836. var calObj = new Date((offset + d - 31) * 86400000 + strap);
  837. var cY = calObj.getUTCFullYear();
  838. var cM = calObj.getUTCMonth() + 1;
  839. var cD = calObj.getUTCDate();
  840. return this.solar2lunar(cY, cM, cD);
  841. }
  842. };
  843. return calendar;
  844. })();
  845. //# sourceMappingURL=js-calendar-converter.js.map