solar_terms_24 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.rspec +3 -0
- data/.rubocop.yml +26 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +81 -0
- data/LICENSE.txt +21 -0
- data/README.md +158 -0
- data/Rakefile +12 -0
- data/Timezones.md +599 -0
- data/exe/solar_terms_24 +6 -0
- data/lib/solar_terms_24/cache.rb +34 -0
- data/lib/solar_terms_24/cli.rb +18 -0
- data/lib/solar_terms_24/db/1900.json +26 -0
- data/lib/solar_terms_24/db/1901.json +26 -0
- data/lib/solar_terms_24/db/1902.json +26 -0
- data/lib/solar_terms_24/db/1903.json +26 -0
- data/lib/solar_terms_24/db/1904.json +26 -0
- data/lib/solar_terms_24/db/1905.json +26 -0
- data/lib/solar_terms_24/db/1906.json +26 -0
- data/lib/solar_terms_24/db/1907.json +26 -0
- data/lib/solar_terms_24/db/1908.json +26 -0
- data/lib/solar_terms_24/db/1909.json +26 -0
- data/lib/solar_terms_24/db/1910.json +26 -0
- data/lib/solar_terms_24/db/1911.json +26 -0
- data/lib/solar_terms_24/db/1912.json +26 -0
- data/lib/solar_terms_24/db/1913.json +26 -0
- data/lib/solar_terms_24/db/1914.json +26 -0
- data/lib/solar_terms_24/db/1915.json +26 -0
- data/lib/solar_terms_24/db/1916.json +26 -0
- data/lib/solar_terms_24/db/1917.json +26 -0
- data/lib/solar_terms_24/db/1918.json +26 -0
- data/lib/solar_terms_24/db/1919.json +26 -0
- data/lib/solar_terms_24/db/1920.json +26 -0
- data/lib/solar_terms_24/db/1921.json +26 -0
- data/lib/solar_terms_24/db/1922.json +26 -0
- data/lib/solar_terms_24/db/1923.json +26 -0
- data/lib/solar_terms_24/db/1924.json +26 -0
- data/lib/solar_terms_24/db/1925.json +26 -0
- data/lib/solar_terms_24/db/1926.json +26 -0
- data/lib/solar_terms_24/db/1927.json +26 -0
- data/lib/solar_terms_24/db/1928.json +26 -0
- data/lib/solar_terms_24/db/1929.json +26 -0
- data/lib/solar_terms_24/db/1930.json +26 -0
- data/lib/solar_terms_24/db/1931.json +26 -0
- data/lib/solar_terms_24/db/1932.json +26 -0
- data/lib/solar_terms_24/db/1933.json +26 -0
- data/lib/solar_terms_24/db/1934.json +26 -0
- data/lib/solar_terms_24/db/1935.json +26 -0
- data/lib/solar_terms_24/db/1936.json +26 -0
- data/lib/solar_terms_24/db/1937.json +26 -0
- data/lib/solar_terms_24/db/1938.json +26 -0
- data/lib/solar_terms_24/db/1939.json +26 -0
- data/lib/solar_terms_24/db/1940.json +26 -0
- data/lib/solar_terms_24/db/1941.json +26 -0
- data/lib/solar_terms_24/db/1942.json +26 -0
- data/lib/solar_terms_24/db/1943.json +26 -0
- data/lib/solar_terms_24/db/1944.json +26 -0
- data/lib/solar_terms_24/db/1945.json +26 -0
- data/lib/solar_terms_24/db/1946.json +26 -0
- data/lib/solar_terms_24/db/1947.json +26 -0
- data/lib/solar_terms_24/db/1948.json +26 -0
- data/lib/solar_terms_24/db/1949.json +26 -0
- data/lib/solar_terms_24/db/1950.json +26 -0
- data/lib/solar_terms_24/db/1951.json +26 -0
- data/lib/solar_terms_24/db/1952.json +26 -0
- data/lib/solar_terms_24/db/1953.json +26 -0
- data/lib/solar_terms_24/db/1954.json +26 -0
- data/lib/solar_terms_24/db/1955.json +26 -0
- data/lib/solar_terms_24/db/1956.json +26 -0
- data/lib/solar_terms_24/db/1957.json +26 -0
- data/lib/solar_terms_24/db/1958.json +26 -0
- data/lib/solar_terms_24/db/1959.json +26 -0
- data/lib/solar_terms_24/db/1960.json +26 -0
- data/lib/solar_terms_24/db/1961.json +26 -0
- data/lib/solar_terms_24/db/1962.json +26 -0
- data/lib/solar_terms_24/db/1963.json +26 -0
- data/lib/solar_terms_24/db/1964.json +26 -0
- data/lib/solar_terms_24/db/1965.json +26 -0
- data/lib/solar_terms_24/db/1966.json +26 -0
- data/lib/solar_terms_24/db/1967.json +26 -0
- data/lib/solar_terms_24/db/1968.json +26 -0
- data/lib/solar_terms_24/db/1969.json +26 -0
- data/lib/solar_terms_24/db/1970.json +26 -0
- data/lib/solar_terms_24/db/1971.json +26 -0
- data/lib/solar_terms_24/db/1972.json +26 -0
- data/lib/solar_terms_24/db/1973.json +26 -0
- data/lib/solar_terms_24/db/1974.json +26 -0
- data/lib/solar_terms_24/db/1975.json +26 -0
- data/lib/solar_terms_24/db/1976.json +26 -0
- data/lib/solar_terms_24/db/1977.json +26 -0
- data/lib/solar_terms_24/db/1978.json +26 -0
- data/lib/solar_terms_24/db/1979.json +26 -0
- data/lib/solar_terms_24/db/1980.json +26 -0
- data/lib/solar_terms_24/db/1981.json +26 -0
- data/lib/solar_terms_24/db/1982.json +26 -0
- data/lib/solar_terms_24/db/1983.json +26 -0
- data/lib/solar_terms_24/db/1984.json +26 -0
- data/lib/solar_terms_24/db/1985.json +26 -0
- data/lib/solar_terms_24/db/1986.json +26 -0
- data/lib/solar_terms_24/db/1987.json +26 -0
- data/lib/solar_terms_24/db/1988.json +26 -0
- data/lib/solar_terms_24/db/1989.json +26 -0
- data/lib/solar_terms_24/db/1990.json +26 -0
- data/lib/solar_terms_24/db/1991.json +26 -0
- data/lib/solar_terms_24/db/1992.json +26 -0
- data/lib/solar_terms_24/db/1993.json +26 -0
- data/lib/solar_terms_24/db/1994.json +26 -0
- data/lib/solar_terms_24/db/1995.json +26 -0
- data/lib/solar_terms_24/db/1996.json +26 -0
- data/lib/solar_terms_24/db/1997.json +26 -0
- data/lib/solar_terms_24/db/1998.json +26 -0
- data/lib/solar_terms_24/db/1999.json +26 -0
- data/lib/solar_terms_24/db/2000.json +26 -0
- data/lib/solar_terms_24/db/2001.json +26 -0
- data/lib/solar_terms_24/db/2002.json +26 -0
- data/lib/solar_terms_24/db/2003.json +26 -0
- data/lib/solar_terms_24/db/2004.json +26 -0
- data/lib/solar_terms_24/db/2005.json +26 -0
- data/lib/solar_terms_24/db/2006.json +26 -0
- data/lib/solar_terms_24/db/2007.json +26 -0
- data/lib/solar_terms_24/db/2008.json +26 -0
- data/lib/solar_terms_24/db/2009.json +26 -0
- data/lib/solar_terms_24/db/2010.json +26 -0
- data/lib/solar_terms_24/db/2011.json +26 -0
- data/lib/solar_terms_24/db/2012.json +26 -0
- data/lib/solar_terms_24/db/2013.json +26 -0
- data/lib/solar_terms_24/db/2014.json +26 -0
- data/lib/solar_terms_24/db/2015.json +26 -0
- data/lib/solar_terms_24/db/2016.json +26 -0
- data/lib/solar_terms_24/db/2017.json +26 -0
- data/lib/solar_terms_24/db/2018.json +26 -0
- data/lib/solar_terms_24/db/2019.json +26 -0
- data/lib/solar_terms_24/db/2020.json +26 -0
- data/lib/solar_terms_24/db/2021.json +26 -0
- data/lib/solar_terms_24/db/2022.json +26 -0
- data/lib/solar_terms_24/db/2023.json +26 -0
- data/lib/solar_terms_24/db/2024.json +26 -0
- data/lib/solar_terms_24/db/2025.json +26 -0
- data/lib/solar_terms_24/db/2026.json +26 -0
- data/lib/solar_terms_24/db/2027.json +26 -0
- data/lib/solar_terms_24/db/2028.json +26 -0
- data/lib/solar_terms_24/db/2029.json +26 -0
- data/lib/solar_terms_24/db/2030.json +26 -0
- data/lib/solar_terms_24/db/2031.json +26 -0
- data/lib/solar_terms_24/db/2032.json +26 -0
- data/lib/solar_terms_24/db/2033.json +26 -0
- data/lib/solar_terms_24/db/2034.json +26 -0
- data/lib/solar_terms_24/db/2035.json +26 -0
- data/lib/solar_terms_24/db/2036.json +26 -0
- data/lib/solar_terms_24/db/2037.json +26 -0
- data/lib/solar_terms_24/db/2038.json +26 -0
- data/lib/solar_terms_24/db/2039.json +26 -0
- data/lib/solar_terms_24/db/2040.json +26 -0
- data/lib/solar_terms_24/db/2041.json +26 -0
- data/lib/solar_terms_24/db/2042.json +26 -0
- data/lib/solar_terms_24/db/2043.json +26 -0
- data/lib/solar_terms_24/db/2044.json +26 -0
- data/lib/solar_terms_24/db/2045.json +26 -0
- data/lib/solar_terms_24/db/2046.json +26 -0
- data/lib/solar_terms_24/db/2047.json +26 -0
- data/lib/solar_terms_24/db/2048.json +26 -0
- data/lib/solar_terms_24/db/2049.json +26 -0
- data/lib/solar_terms_24/db/2050.json +26 -0
- data/lib/solar_terms_24/db/2051.json +26 -0
- data/lib/solar_terms_24/db/2052.json +26 -0
- data/lib/solar_terms_24/db/2053.json +26 -0
- data/lib/solar_terms_24/db/2054.json +26 -0
- data/lib/solar_terms_24/db/2055.json +26 -0
- data/lib/solar_terms_24/db/2056.json +26 -0
- data/lib/solar_terms_24/db/2057.json +26 -0
- data/lib/solar_terms_24/db/2058.json +26 -0
- data/lib/solar_terms_24/db/2059.json +26 -0
- data/lib/solar_terms_24/db/2060.json +26 -0
- data/lib/solar_terms_24/db/2061.json +26 -0
- data/lib/solar_terms_24/db/2062.json +26 -0
- data/lib/solar_terms_24/db/2063.json +26 -0
- data/lib/solar_terms_24/db/2064.json +26 -0
- data/lib/solar_terms_24/db/2065.json +26 -0
- data/lib/solar_terms_24/db/2066.json +26 -0
- data/lib/solar_terms_24/db/2067.json +26 -0
- data/lib/solar_terms_24/db/2068.json +26 -0
- data/lib/solar_terms_24/db/2069.json +26 -0
- data/lib/solar_terms_24/db/2070.json +26 -0
- data/lib/solar_terms_24/db/2071.json +26 -0
- data/lib/solar_terms_24/db/2072.json +26 -0
- data/lib/solar_terms_24/db/2073.json +26 -0
- data/lib/solar_terms_24/db/2074.json +26 -0
- data/lib/solar_terms_24/db/2075.json +26 -0
- data/lib/solar_terms_24/db/2076.json +26 -0
- data/lib/solar_terms_24/db/2077.json +26 -0
- data/lib/solar_terms_24/db/2078.json +26 -0
- data/lib/solar_terms_24/db/2079.json +26 -0
- data/lib/solar_terms_24/db/2080.json +26 -0
- data/lib/solar_terms_24/db/2081.json +26 -0
- data/lib/solar_terms_24/db/2082.json +26 -0
- data/lib/solar_terms_24/db/2083.json +26 -0
- data/lib/solar_terms_24/db/2084.json +26 -0
- data/lib/solar_terms_24/db/2085.json +26 -0
- data/lib/solar_terms_24/db/2086.json +26 -0
- data/lib/solar_terms_24/db/2087.json +26 -0
- data/lib/solar_terms_24/db/2088.json +26 -0
- data/lib/solar_terms_24/db/2089.json +26 -0
- data/lib/solar_terms_24/db/2090.json +26 -0
- data/lib/solar_terms_24/db/2091.json +26 -0
- data/lib/solar_terms_24/db/2092.json +26 -0
- data/lib/solar_terms_24/db/2093.json +26 -0
- data/lib/solar_terms_24/db/2094.json +26 -0
- data/lib/solar_terms_24/db/2095.json +26 -0
- data/lib/solar_terms_24/db/2096.json +26 -0
- data/lib/solar_terms_24/db/2097.json +26 -0
- data/lib/solar_terms_24/db/2098.json +26 -0
- data/lib/solar_terms_24/db/2099.json +26 -0
- data/lib/solar_terms_24/db/2100.json +26 -0
- data/lib/solar_terms_24/horizons.rb +82 -0
- data/lib/solar_terms_24/locales/en.yml +25 -0
- data/lib/solar_terms_24/locales/ja.yml +25 -0
- data/lib/solar_terms_24/locales/ko.yml +25 -0
- data/lib/solar_terms_24/locales/vi.yml +25 -0
- data/lib/solar_terms_24/locales/zh-CN.yml +25 -0
- data/lib/solar_terms_24/locales/zh-TW.yml +25 -0
- data/lib/solar_terms_24/solar_term.rb +51 -0
- data/lib/solar_terms_24/solar_terms.rb +59 -0
- data/lib/solar_terms_24/version.rb +5 -0
- data/lib/solar_terms_24.rb +12 -0
- data/sig/horizons_solar_terms.rbs +4 -0
- metadata +382 -0
@@ -0,0 +1,26 @@
|
|
1
|
+
{
|
2
|
+
"minor_cold": "2086-12-23 00:59:36.405+00:00",
|
3
|
+
"major_cold": "2086-01-19 15:12:57.969+00:00",
|
4
|
+
"start_of_spring": "2086-02-03 09:27:45.955+00:00",
|
5
|
+
"spring_showers": "2086-02-18 05:06:42.402+00:00",
|
6
|
+
"awakening_of_insects": "2086-03-05 03:05:13.664+00:00",
|
7
|
+
"spring_equinox": "2086-03-20 03:36:38.508+00:00",
|
8
|
+
"pure_brightness": "2086-04-04 07:18:58.210+00:00",
|
9
|
+
"grain_rain": "2086-04-19 14:01:53.062+00:00",
|
10
|
+
"start_of_summer": "2086-05-05 00:00:16.070+00:00",
|
11
|
+
"grain_buds": "2086-05-20 12:36:00.658+00:00",
|
12
|
+
"grain_in_ear": "2086-06-05 03:40:01.284+00:00",
|
13
|
+
"summer_solstice": "2086-06-20 20:10:58.834+00:00",
|
14
|
+
"minor_heat": "2086-07-06 13:41:26.403+00:00",
|
15
|
+
"major_heat": "2086-07-22 07:01:02.714+00:00",
|
16
|
+
"start_of_autumn": "2086-08-06 23:34:49.108+00:00",
|
17
|
+
"end_of_heat": "2086-08-22 14:22:15.986+00:00",
|
18
|
+
"white_dew": "2086-09-07 02:53:48.319+00:00",
|
19
|
+
"autumn_equinox": "2086-09-22 12:33:36.107+00:00",
|
20
|
+
"cold_dew": "2086-10-07 19:08:26.927+00:00",
|
21
|
+
"frost": "2086-10-22 22:33:31.899+00:00",
|
22
|
+
"start_of_winter": "2086-11-06 22:57:04.977+00:00",
|
23
|
+
"minor_snow": "2086-11-21 20:42:16.276+00:00",
|
24
|
+
"major_snow": "2086-12-06 16:17:16.027+00:00",
|
25
|
+
"winter_solstice": "2086-12-21 10:24:03.665+00:00"
|
26
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
{
|
2
|
+
"minor_cold": "2087-01-05 03:43:57.902+00:00",
|
3
|
+
"major_cold": "2087-01-19 21:06:38.458+00:00",
|
4
|
+
"start_of_spring": "2087-02-03 15:16:34.321+00:00",
|
5
|
+
"spring_showers": "2087-02-18 11:00:03.434+00:00",
|
6
|
+
"awakening_of_insects": "2087-03-05 08:53:22.160+00:00",
|
7
|
+
"spring_equinox": "2087-03-20 09:29:43.739+00:00",
|
8
|
+
"pure_brightness": "2087-04-04 13:05:54.139+00:00",
|
9
|
+
"grain_rain": "2087-04-19 19:55:12.124+00:00",
|
10
|
+
"start_of_summer": "2087-05-05 05:46:06.461+00:00",
|
11
|
+
"grain_buds": "2087-05-20 18:30:25.261+00:00",
|
12
|
+
"grain_in_ear": "2087-06-05 09:25:54.633+00:00",
|
13
|
+
"summer_solstice": "2087-06-21 02:07:24.149+00:00",
|
14
|
+
"minor_heat": "2087-07-06 19:29:23.908+00:00",
|
15
|
+
"major_heat": "2087-07-22 12:59:40.576+00:00",
|
16
|
+
"start_of_autumn": "2087-08-07 05:25:44.304+00:00",
|
17
|
+
"end_of_heat": "2087-08-22 20:21:05.659+00:00",
|
18
|
+
"white_dew": "2087-09-07 08:45:45.746+00:00",
|
19
|
+
"autumn_equinox": "2087-09-22 18:29:45.164+00:00",
|
20
|
+
"cold_dew": "2087-10-08 00:58:55.866+00:00",
|
21
|
+
"frost": "2087-10-23 04:25:39.556+00:00",
|
22
|
+
"start_of_winter": "2087-11-07 04:44:36.966+00:00",
|
23
|
+
"minor_snow": "2087-11-22 02:30:35.976+00:00",
|
24
|
+
"major_snow": "2087-12-06 22:01:45.730+00:00",
|
25
|
+
"winter_solstice": "2087-12-21 16:09:56.589+00:00"
|
26
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
{
|
2
|
+
"minor_cold": "2088-01-05 09:26:41.360+00:00",
|
3
|
+
"major_cold": "2088-01-20 02:52:04.098+00:00",
|
4
|
+
"start_of_spring": "2088-02-03 20:59:33.149+00:00",
|
5
|
+
"spring_showers": "2088-02-18 16:46:47.560+00:00",
|
6
|
+
"awakening_of_insects": "2088-03-04 14:38:27.661+00:00",
|
7
|
+
"spring_equinox": "2088-03-19 15:18:29.967+00:00",
|
8
|
+
"pure_brightness": "2088-04-03 18:54:13.348+00:00",
|
9
|
+
"grain_rain": "2088-04-19 01:45:40.201+00:00",
|
10
|
+
"start_of_summer": "2088-05-04 11:38:09.929+00:00",
|
11
|
+
"grain_buds": "2088-05-20 00:21:38.388+00:00",
|
12
|
+
"grain_in_ear": "2088-06-04 15:21:27.522+00:00",
|
13
|
+
"summer_solstice": "2088-06-20 07:58:10.785+00:00",
|
14
|
+
"minor_heat": "2088-07-06 01:27:23.377+00:00",
|
15
|
+
"major_heat": "2088-07-21 18:49:40.152+00:00",
|
16
|
+
"start_of_autumn": "2088-08-06 11:25:02.476+00:00",
|
17
|
+
"end_of_heat": "2088-08-22 02:10:59.243+00:00",
|
18
|
+
"white_dew": "2088-09-06 14:45:23.563+00:00",
|
19
|
+
"autumn_equinox": "2088-09-22 00:19:45.667+00:00",
|
20
|
+
"cold_dew": "2088-10-07 06:57:46.802+00:00",
|
21
|
+
"frost": "2088-10-22 10:15:11.848+00:00",
|
22
|
+
"start_of_winter": "2088-11-06 10:42:09.035+00:00",
|
23
|
+
"minor_snow": "2088-11-21 08:19:11.695+00:00",
|
24
|
+
"major_snow": "2088-12-06 03:58:10.024+00:00",
|
25
|
+
"winter_solstice": "2088-12-20 21:57:41.126+00:00"
|
26
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
{
|
2
|
+
"minor_cold": "2089-12-23 00:58:22.319+00:00",
|
3
|
+
"major_cold": "2089-01-19 08:39:41.712+00:00",
|
4
|
+
"start_of_spring": "2089-02-03 02:56:05.000+00:00",
|
5
|
+
"spring_showers": "2089-02-17 22:35:18.444+00:00",
|
6
|
+
"awakening_of_insects": "2089-03-04 20:36:06.187+00:00",
|
7
|
+
"spring_equinox": "2089-03-19 21:08:06.249+00:00",
|
8
|
+
"pure_brightness": "2089-04-04 00:51:51.772+00:00",
|
9
|
+
"grain_rain": "2089-04-19 07:35:01.026+00:00",
|
10
|
+
"start_of_summer": "2089-05-04 17:33:17.214+00:00",
|
11
|
+
"grain_buds": "2089-05-20 06:09:29.044+00:00",
|
12
|
+
"grain_in_ear": "2089-06-04 21:11:58.959+00:00",
|
13
|
+
"summer_solstice": "2089-06-20 13:44:29.490+00:00",
|
14
|
+
"minor_heat": "2089-07-06 07:12:35.143+00:00",
|
15
|
+
"major_heat": "2089-07-22 00:35:10.411+00:00",
|
16
|
+
"start_of_autumn": "2089-08-06 17:06:08.149+00:00",
|
17
|
+
"end_of_heat": "2089-08-22 07:57:16.181+00:00",
|
18
|
+
"white_dew": "2089-09-06 20:25:28.753+00:00",
|
19
|
+
"autumn_equinox": "2089-09-22 06:08:27.041+00:00",
|
20
|
+
"cold_dew": "2089-10-07 12:39:27.045+00:00",
|
21
|
+
"frost": "2089-10-22 16:06:51.923+00:00",
|
22
|
+
"start_of_winter": "2089-11-06 16:26:17.335+00:00",
|
23
|
+
"minor_snow": "2089-11-21 14:13:26.454+00:00",
|
24
|
+
"major_snow": "2089-12-06 09:44:26.442+00:00",
|
25
|
+
"winter_solstice": "2089-12-21 03:53:35.077+00:00"
|
26
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
{
|
2
|
+
"minor_cold": "2090-12-23 00:59:27.932+00:00",
|
3
|
+
"major_cold": "2090-01-19 14:36:09.534+00:00",
|
4
|
+
"start_of_spring": "2090-02-03 08:43:45.051+00:00",
|
5
|
+
"spring_showers": "2090-02-18 04:31:24.286+00:00",
|
6
|
+
"awakening_of_insects": "2090-03-05 02:22:59.296+00:00",
|
7
|
+
"spring_equinox": "2090-03-20 03:03:28.219+00:00",
|
8
|
+
"pure_brightness": "2090-04-04 06:37:41.673+00:00",
|
9
|
+
"grain_rain": "2090-04-19 13:29:53.836+00:00",
|
10
|
+
"start_of_summer": "2090-05-04 23:18:12.817+00:00",
|
11
|
+
"grain_buds": "2090-05-20 12:03:37.675+00:00",
|
12
|
+
"grain_in_ear": "2090-06-05 02:56:27.764+00:00",
|
13
|
+
"summer_solstice": "2090-06-20 19:37:28.442+00:00",
|
14
|
+
"minor_heat": "2090-07-06 12:58:05.144+00:00",
|
15
|
+
"major_heat": "2090-07-22 06:27:02.164+00:00",
|
16
|
+
"start_of_autumn": "2090-08-06 22:54:17.373+00:00",
|
17
|
+
"end_of_heat": "2090-08-22 13:48:44.153+00:00",
|
18
|
+
"white_dew": "2090-09-07 02:17:20.802+00:00",
|
19
|
+
"autumn_equinox": "2090-09-22 12:00:56.175+00:00",
|
20
|
+
"cold_dew": "2090-10-07 18:35:15.044+00:00",
|
21
|
+
"frost": "2090-10-22 22:00:54.430+00:00",
|
22
|
+
"start_of_winter": "2090-11-06 22:24:12.076+00:00",
|
23
|
+
"minor_snow": "2090-11-21 20:07:25.376+00:00",
|
24
|
+
"major_snow": "2090-12-06 15:41:20.815+00:00",
|
25
|
+
"winter_solstice": "2090-12-21 09:45:10.640+00:00"
|
26
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
{
|
2
|
+
"minor_cold": "2091-01-05 03:03:27.392+00:00",
|
3
|
+
"major_cold": "2091-01-19 20:23:40.623+00:00",
|
4
|
+
"start_of_spring": "2091-02-03 14:32:19.522+00:00",
|
5
|
+
"spring_showers": "2091-02-18 10:14:31.951+00:00",
|
6
|
+
"awakening_of_insects": "2091-03-05 08:07:50.344+00:00",
|
7
|
+
"spring_equinox": "2091-03-20 08:43:29.202+00:00",
|
8
|
+
"pure_brightness": "2091-04-04 12:21:39.676+00:00",
|
9
|
+
"grain_rain": "2091-04-19 19:09:09.750+00:00",
|
10
|
+
"start_of_summer": "2091-05-05 05:04:36.085+00:00",
|
11
|
+
"grain_buds": "2091-05-20 17:44:16.347+00:00",
|
12
|
+
"grain_in_ear": "2091-06-05 08:47:00.558+00:00",
|
13
|
+
"summer_solstice": "2091-06-21 01:20:33.976+00:00",
|
14
|
+
"minor_heat": "2091-07-06 18:52:24.822+00:00",
|
15
|
+
"major_heat": "2091-07-22 12:13:07.587+00:00",
|
16
|
+
"start_of_autumn": "2091-08-07 04:51:01.093+00:00",
|
17
|
+
"end_of_heat": "2091-08-22 19:37:52.975+00:00",
|
18
|
+
"white_dew": "2091-09-07 08:14:58.251+00:00",
|
19
|
+
"autumn_equinox": "2091-09-22 17:52:29.285+00:00",
|
20
|
+
"cold_dew": "2091-10-08 00:32:57.749+00:00",
|
21
|
+
"frost": "2091-10-23 03:54:08.106+00:00",
|
22
|
+
"start_of_winter": "2091-11-07 04:22:15.518+00:00",
|
23
|
+
"minor_snow": "2091-11-22 02:01:56.374+00:00",
|
24
|
+
"major_snow": "2091-12-06 21:40:03.957+00:00",
|
25
|
+
"winter_solstice": "2091-12-21 15:40:11.342+00:00"
|
26
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
{
|
2
|
+
"minor_cold": "2092-01-05 09:02:20.466+00:00",
|
3
|
+
"major_cold": "2092-01-20 02:18:05.403+00:00",
|
4
|
+
"start_of_spring": "2092-02-03 20:30:22.686+00:00",
|
5
|
+
"spring_showers": "2092-02-18 16:07:33.679+00:00",
|
6
|
+
"awakening_of_insects": "2092-03-04 14:04:11.465+00:00",
|
7
|
+
"spring_equinox": "2092-03-19 14:35:13.686+00:00",
|
8
|
+
"pure_brightness": "2092-04-03 18:16:07.970+00:00",
|
9
|
+
"grain_rain": "2092-04-19 01:00:57.532+00:00",
|
10
|
+
"start_of_summer": "2092-05-04 10:57:50.226+00:00",
|
11
|
+
"grain_buds": "2092-05-19 23:38:06.862+00:00",
|
12
|
+
"grain_in_ear": "2092-06-04 14:39:18.238+00:00",
|
13
|
+
"summer_solstice": "2092-06-20 07:16:38.247+00:00",
|
14
|
+
"minor_heat": "2092-07-06 00:42:30.468+00:00",
|
15
|
+
"major_heat": "2092-07-21 18:09:21.728+00:00",
|
16
|
+
"start_of_autumn": "2092-08-06 10:37:34.650+00:00",
|
17
|
+
"end_of_heat": "2092-08-22 01:31:56.594+00:00",
|
18
|
+
"white_dew": "2092-09-06 13:57:46.933+00:00",
|
19
|
+
"autumn_equinox": "2092-09-21 23:43:28.619+00:00",
|
20
|
+
"cold_dew": "2092-10-07 06:13:14.517+00:00",
|
21
|
+
"frost": "2092-10-22 09:43:24.499+00:00",
|
22
|
+
"start_of_winter": "2092-11-06 10:02:27.638+00:00",
|
23
|
+
"minor_snow": "2092-11-21 07:52:10.361+00:00",
|
24
|
+
"major_snow": "2092-12-06 03:22:39.161+00:00",
|
25
|
+
"winter_solstice": "2092-12-20 21:33:35.721+00:00"
|
26
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
{
|
2
|
+
"minor_cold": "2093-12-23 00:58:15.908+00:00",
|
3
|
+
"major_cold": "2093-01-19 08:15:21.455+00:00",
|
4
|
+
"start_of_spring": "2093-02-03 02:20:10.755+00:00",
|
5
|
+
"spring_showers": "2093-02-17 22:07:45.069+00:00",
|
6
|
+
"awakening_of_insects": "2093-03-04 19:56:00.033+00:00",
|
7
|
+
"spring_equinox": "2093-03-19 20:36:13.322+00:00",
|
8
|
+
"pure_brightness": "2093-04-04 00:07:50.406+00:00",
|
9
|
+
"grain_rain": "2093-04-19 07:00:11.235+00:00",
|
10
|
+
"start_of_summer": "2093-05-04 16:47:54.748+00:00",
|
11
|
+
"grain_buds": "2093-05-20 05:33:43.905+00:00",
|
12
|
+
"grain_in_ear": "2093-06-04 20:28:11.406+00:00",
|
13
|
+
"summer_solstice": "2093-06-20 13:08:46.203+00:00",
|
14
|
+
"minor_heat": "2093-07-06 06:32:14.955+00:00",
|
15
|
+
"major_heat": "2093-07-21 23:59:03.554+00:00",
|
16
|
+
"start_of_autumn": "2093-08-06 16:29:19.698+00:00",
|
17
|
+
"end_of_heat": "2093-08-22 07:20:06.471+00:00",
|
18
|
+
"white_dew": "2093-09-06 19:51:19.724+00:00",
|
19
|
+
"autumn_equinox": "2093-09-22 05:30:37.111+00:00",
|
20
|
+
"cold_dew": "2093-10-07 12:07:37.827+00:00",
|
21
|
+
"frost": "2093-10-22 15:29:58.571+00:00",
|
22
|
+
"start_of_winter": "2093-11-06 15:57:24.305+00:00",
|
23
|
+
"minor_snow": "2093-11-21 13:39:16.535+00:00",
|
24
|
+
"major_snow": "2093-12-06 09:18:55.132+00:00",
|
25
|
+
"winter_solstice": "2093-12-21 03:22:27.999+00:00"
|
26
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
{
|
2
|
+
"minor_cold": "2094-12-23 00:59:23.496+00:00",
|
3
|
+
"major_cold": "2094-01-19 14:05:42.607+00:00",
|
4
|
+
"start_of_spring": "2094-02-03 08:18:41.625+00:00",
|
5
|
+
"spring_showers": "2094-02-18 03:57:39.752+00:00",
|
6
|
+
"awakening_of_insects": "2094-03-05 01:53:04.656+00:00",
|
7
|
+
"spring_equinox": "2094-03-20 02:23:17.500+00:00",
|
8
|
+
"pure_brightness": "2094-04-04 06:01:39.437+00:00",
|
9
|
+
"grain_rain": "2094-04-19 12:42:35.056+00:00",
|
10
|
+
"start_of_summer": "2094-05-04 22:37:22.208+00:00",
|
11
|
+
"grain_buds": "2094-05-20 11:11:18.870+00:00",
|
12
|
+
"grain_in_ear": "2094-06-05 02:13:36.470+00:00",
|
13
|
+
"summer_solstice": "2094-06-20 18:44:02.472+00:00",
|
14
|
+
"minor_heat": "2094-07-06 12:15:39.453+00:00",
|
15
|
+
"major_heat": "2094-07-22 05:36:05.002+00:00",
|
16
|
+
"start_of_autumn": "2094-08-06 22:13:17.181+00:00",
|
17
|
+
"end_of_heat": "2094-08-22 13:01:59.510+00:00",
|
18
|
+
"white_dew": "2094-09-07 01:37:43.976+00:00",
|
19
|
+
"autumn_equinox": "2094-09-22 11:18:17.526+00:00",
|
20
|
+
"cold_dew": "2094-10-07 17:56:58.618+00:00",
|
21
|
+
"frost": "2094-10-22 21:21:55.094+00:00",
|
22
|
+
"start_of_winter": "2094-11-06 21:48:23.009+00:00",
|
23
|
+
"minor_snow": "2094-11-21 19:32:36.592+00:00",
|
24
|
+
"major_snow": "2094-12-06 15:09:46.282+00:00",
|
25
|
+
"winter_solstice": "2094-12-21 09:15:04.104+00:00"
|
26
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
{
|
2
|
+
"minor_cold": "2095-01-05 02:36:43.699+00:00",
|
3
|
+
"major_cold": "2095-01-19 19:57:29.247+00:00",
|
4
|
+
"start_of_spring": "2095-02-03 14:08:45.704+00:00",
|
5
|
+
"spring_showers": "2095-02-18 09:49:45.373+00:00",
|
6
|
+
"awakening_of_insects": "2095-03-05 07:43:41.683+00:00",
|
7
|
+
"spring_equinox": "2095-03-20 08:16:42.375+00:00",
|
8
|
+
"pure_brightness": "2095-04-04 11:52:34.669+00:00",
|
9
|
+
"grain_rain": "2095-04-19 18:37:40.558+00:00",
|
10
|
+
"start_of_summer": "2095-05-05 04:27:35.628+00:00",
|
11
|
+
"grain_buds": "2095-05-20 17:07:35.463+00:00",
|
12
|
+
"grain_in_ear": "2095-06-05 08:02:05.453+00:00",
|
13
|
+
"summer_solstice": "2095-06-21 00:40:36.518+00:00",
|
14
|
+
"minor_heat": "2095-07-06 18:02:42.257+00:00",
|
15
|
+
"major_heat": "2095-07-22 11:32:40.861+00:00",
|
16
|
+
"start_of_autumn": "2095-08-07 04:00:22.070+00:00",
|
17
|
+
"end_of_heat": "2095-08-22 18:58:05.072+00:00",
|
18
|
+
"white_dew": "2095-09-07 07:25:10.496+00:00",
|
19
|
+
"autumn_equinox": "2095-09-22 17:12:52.762+00:00",
|
20
|
+
"cold_dew": "2095-10-07 23:44:11.515+00:00",
|
21
|
+
"frost": "2095-10-23 03:14:30.129+00:00",
|
22
|
+
"start_of_winter": "2095-11-07 03:34:21.129+00:00",
|
23
|
+
"minor_snow": "2095-11-22 01:22:45.733+00:00",
|
24
|
+
"major_snow": "2095-12-06 20:53:18.867+00:00",
|
25
|
+
"winter_solstice": "2095-12-21 15:02:35.703+00:00"
|
26
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
{
|
2
|
+
"minor_cold": "2096-01-05 08:17:39.768+00:00",
|
3
|
+
"major_cold": "2096-01-20 01:43:17.493+00:00",
|
4
|
+
"start_of_spring": "2096-02-03 19:48:35.504+00:00",
|
5
|
+
"spring_showers": "2096-02-18 15:35:44.066+00:00",
|
6
|
+
"awakening_of_insects": "2096-03-04 13:24:54.453+00:00",
|
7
|
+
"spring_equinox": "2096-03-19 14:04:41.758+00:00",
|
8
|
+
"pure_brightness": "2096-04-03 17:37:27.764+00:00",
|
9
|
+
"grain_rain": "2096-04-19 00:28:26.768+00:00",
|
10
|
+
"start_of_summer": "2096-05-04 10:17:23.299+00:00",
|
11
|
+
"grain_buds": "2096-05-19 23:00:17.663+00:00",
|
12
|
+
"grain_in_ear": "2096-06-04 13:56:08.784+00:00",
|
13
|
+
"summer_solstice": "2096-06-20 06:32:34.366+00:00",
|
14
|
+
"minor_heat": "2096-07-05 23:58:20.378+00:00",
|
15
|
+
"major_heat": "2096-07-21 17:21:15.188+00:00",
|
16
|
+
"start_of_autumn": "2096-08-06 09:55:08.946+00:00",
|
17
|
+
"end_of_heat": "2096-08-22 00:43:20.068+00:00",
|
18
|
+
"white_dew": "2096-09-06 13:18:44.132+00:00",
|
19
|
+
"autumn_equinox": "2096-09-21 22:56:30.943+00:00",
|
20
|
+
"cold_dew": "2096-10-07 05:37:06.185+00:00",
|
21
|
+
"frost": "2096-10-22 08:58:04.036+00:00",
|
22
|
+
"start_of_winter": "2096-11-06 09:27:37.441+00:00",
|
23
|
+
"minor_snow": "2096-11-21 07:07:14.919+00:00",
|
24
|
+
"major_snow": "2096-12-06 02:47:35.259+00:00",
|
25
|
+
"winter_solstice": "2096-12-20 20:48:00.254+00:00"
|
26
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
{
|
2
|
+
"minor_cold": "2097-12-23 00:58:09.088+00:00",
|
3
|
+
"major_cold": "2097-01-19 07:29:00.235+00:00",
|
4
|
+
"start_of_spring": "2097-02-03 01:43:45.328+00:00",
|
5
|
+
"spring_showers": "2097-02-17 21:21:24.928+00:00",
|
6
|
+
"awakening_of_insects": "2097-03-04 19:20:04.842+00:00",
|
7
|
+
"spring_equinox": "2097-03-19 19:50:11.597+00:00",
|
8
|
+
"pure_brightness": "2097-04-03 23:31:59.622+00:00",
|
9
|
+
"grain_rain": "2097-04-19 06:13:06.303+00:00",
|
10
|
+
"start_of_summer": "2097-05-04 16:09:57.763+00:00",
|
11
|
+
"grain_buds": "2097-05-20 04:43:47.925+00:00",
|
12
|
+
"grain_in_ear": "2097-06-04 19:45:29.928+00:00",
|
13
|
+
"summer_solstice": "2097-06-20 12:15:11.298+00:00",
|
14
|
+
"minor_heat": "2097-07-06 05:43:11.322+00:00",
|
15
|
+
"major_heat": "2097-07-21 23:02:48.062+00:00",
|
16
|
+
"start_of_autumn": "2097-08-06 15:34:41.639+00:00",
|
17
|
+
"end_of_heat": "2097-08-22 06:23:55.760+00:00",
|
18
|
+
"white_dew": "2097-09-06 18:54:40.019+00:00",
|
19
|
+
"autumn_equinox": "2097-09-22 04:37:39.235+00:00",
|
20
|
+
"cold_dew": "2097-10-07 11:12:42.368+00:00",
|
21
|
+
"frost": "2097-10-22 14:41:36.385+00:00",
|
22
|
+
"start_of_winter": "2097-11-06 15:05:40.718+00:00",
|
23
|
+
"minor_snow": "2097-11-21 12:54:31.789+00:00",
|
24
|
+
"major_snow": "2097-12-06 08:29:34.576+00:00",
|
25
|
+
"winter_solstice": "2097-12-21 02:39:14.349+00:00"
|
26
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
{
|
2
|
+
"minor_cold": "2098-12-23 00:59:14.324+00:00",
|
3
|
+
"major_cold": "2098-01-19 13:22:45.744+00:00",
|
4
|
+
"start_of_spring": "2098-02-03 07:30:48.596+00:00",
|
5
|
+
"spring_showers": "2098-02-18 03:15:12.040+00:00",
|
6
|
+
"awakening_of_insects": "2098-03-05 01:05:48.834+00:00",
|
7
|
+
"spring_equinox": "2098-03-20 01:42:15.430+00:00",
|
8
|
+
"pure_brightness": "2098-04-04 05:15:04.628+00:00",
|
9
|
+
"grain_rain": "2098-04-19 12:03:34.002+00:00",
|
10
|
+
"start_of_summer": "2098-05-04 21:50:40.639+00:00",
|
11
|
+
"grain_buds": "2098-05-20 10:33:24.765+00:00",
|
12
|
+
"grain_in_ear": "2098-06-05 01:25:11.945+00:00",
|
13
|
+
"summer_solstice": "2098-06-20 18:04:48.165+00:00",
|
14
|
+
"minor_heat": "2098-07-06 11:24:09.857+00:00",
|
15
|
+
"major_heat": "2098-07-22 04:52:48.093+00:00",
|
16
|
+
"start_of_autumn": "2098-08-06 21:18:20.835+00:00",
|
17
|
+
"end_of_heat": "2098-08-22 12:13:29.265+00:00",
|
18
|
+
"white_dew": "2098-09-07 00:40:30.563+00:00",
|
19
|
+
"autumn_equinox": "2098-09-22 10:26:02.758+00:00",
|
20
|
+
"cold_dew": "2098-10-07 16:59:45.391+00:00",
|
21
|
+
"frost": "2098-10-22 20:28:44.232+00:00",
|
22
|
+
"start_of_winter": "2098-11-06 20:52:29.650+00:00",
|
23
|
+
"minor_snow": "2098-11-21 18:39:56.572+00:00",
|
24
|
+
"major_snow": "2098-12-06 14:14:44.384+00:00",
|
25
|
+
"winter_solstice": "2098-12-21 08:22:39.505+00:00"
|
26
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
{
|
2
|
+
"minor_cold": "2099-01-05 01:41:07.519+00:00",
|
3
|
+
"major_cold": "2099-01-19 19:04:09.401+00:00",
|
4
|
+
"start_of_spring": "2099-02-03 13:11:21.029+00:00",
|
5
|
+
"spring_showers": "2099-02-18 08:54:29.507+00:00",
|
6
|
+
"awakening_of_insects": "2099-03-05 06:44:28.120+00:00",
|
7
|
+
"spring_equinox": "2099-03-20 07:19:33.006+00:00",
|
8
|
+
"pure_brightness": "2099-04-04 10:53:16.448+00:00",
|
9
|
+
"grain_rain": "2099-04-19 17:39:47.975+00:00",
|
10
|
+
"start_of_summer": "2099-05-05 03:30:54.401+00:00",
|
11
|
+
"grain_buds": "2099-05-20 16:10:09.661+00:00",
|
12
|
+
"grain_in_ear": "2099-06-05 07:09:36.536+00:00",
|
13
|
+
"summer_solstice": "2099-06-20 23:43:29.208+00:00",
|
14
|
+
"minor_heat": "2099-07-06 17:13:32.133+00:00",
|
15
|
+
"major_heat": "2099-07-22 10:34:46.876+00:00",
|
16
|
+
"start_of_autumn": "2099-08-07 03:12:03.482+00:00",
|
17
|
+
"end_of_heat": "2099-08-22 17:58:56.245+00:00",
|
18
|
+
"white_dew": "2099-09-07 06:36:01.583+00:00",
|
19
|
+
"autumn_equinox": "2099-09-22 16:12:55.899+00:00",
|
20
|
+
"cold_dew": "2099-10-07 22:54:03.712+00:00",
|
21
|
+
"frost": "2099-10-23 02:14:45.396+00:00",
|
22
|
+
"start_of_winter": "2099-11-07 02:44:29.889+00:00",
|
23
|
+
"minor_snow": "2099-11-22 00:24:27.857+00:00",
|
24
|
+
"major_snow": "2099-12-06 20:05:07.844+00:00",
|
25
|
+
"winter_solstice": "2099-12-21 14:06:11.564+00:00"
|
26
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
{
|
2
|
+
"minor_cold": "2100-01-05 07:31:09.354+00:00",
|
3
|
+
"major_cold": "2100-01-20 00:47:46.176+00:00",
|
4
|
+
"start_of_spring": "2100-02-03 19:02:09.319+00:00",
|
5
|
+
"spring_showers": "2100-02-18 14:39:09.263+00:00",
|
6
|
+
"awakening_of_insects": "2100-03-05 12:36:24.686+00:00",
|
7
|
+
"spring_equinox": "2100-03-20 13:05:33.528+00:00",
|
8
|
+
"pure_brightness": "2100-04-04 16:45:40.835+00:00",
|
9
|
+
"grain_rain": "2100-04-19 23:27:05.140+00:00",
|
10
|
+
"start_of_summer": "2100-05-05 09:22:48.539+00:00",
|
11
|
+
"grain_buds": "2100-05-20 21:59:09.387+00:00",
|
12
|
+
"grain_in_ear": "2100-06-05 13:00:00.279+00:00",
|
13
|
+
"summer_solstice": "2100-06-21 05:34:04.567+00:00",
|
14
|
+
"minor_heat": "2100-07-06 23:00:56.267+00:00",
|
15
|
+
"major_heat": "2100-07-22 16:25:50.025+00:00",
|
16
|
+
"start_of_autumn": "2100-08-07 08:55:58.408+00:00",
|
17
|
+
"end_of_heat": "2100-08-22 23:49:31.991+00:00",
|
18
|
+
"white_dew": "2100-09-07 12:17:11.165+00:00",
|
19
|
+
"autumn_equinox": "2100-09-22 22:02:21.734+00:00",
|
20
|
+
"cold_dew": "2100-10-08 04:33:05.626+00:00",
|
21
|
+
"frost": "2100-10-23 08:02:35.795+00:00",
|
22
|
+
"start_of_winter": "2100-11-07 08:21:59.137+00:00",
|
23
|
+
"minor_snow": "2100-11-22 06:11:07.403+00:00",
|
24
|
+
"major_snow": "2100-12-07 01:42:01.053+00:00",
|
25
|
+
"winter_solstice": "2100-12-21 19:52:46.996+00:00"
|
26
|
+
}
|
@@ -0,0 +1,82 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'faraday'
|
4
|
+
|
5
|
+
module SolarTerms24
|
6
|
+
# :nodoc:
|
7
|
+
module Horizons
|
8
|
+
TIME_FORMAT = '%Y-%m-%d %H:%M:%S.%L'
|
9
|
+
SOLAR_TERMS = {
|
10
|
+
minor_cold: { month: 1, days: 5..7, longitude: 285 },
|
11
|
+
major_cold: { month: 1, days: 19..21, longitude: 300 },
|
12
|
+
start_of_spring: { month: 2, days: 3..5, longitude: 315 },
|
13
|
+
spring_showers: { month: 2, days: 18..20, longitude: 330 },
|
14
|
+
awakening_of_insects: { month: 3, days: 5..7, longitude: 345 },
|
15
|
+
spring_equinox: { month: 3, days: 20..22, longitude: 0 },
|
16
|
+
pure_brightness: { month: 4, days: 4..6, longitude: 15 },
|
17
|
+
grain_rain: { month: 4, days: 19..21, longitude: 30 },
|
18
|
+
start_of_summer: { month: 5, days: 5..7, longitude: 45 },
|
19
|
+
grain_buds: { month: 5, days: 20..22, longitude: 60 },
|
20
|
+
grain_in_ear: { month: 6, days: 5..7, longitude: 75 },
|
21
|
+
summer_solstice: { month: 6, days: 20..22, longitude: 90 },
|
22
|
+
minor_heat: { month: 7, days: 6..8, longitude: 105 },
|
23
|
+
major_heat: { month: 7, days: 22..24, longitude: 120 },
|
24
|
+
start_of_autumn: { month: 8, days: 7..9, longitude: 135 },
|
25
|
+
end_of_heat: { month: 8, days: 22..24, longitude: 150 },
|
26
|
+
white_dew: { month: 9, days: 7..9, longitude: 165 },
|
27
|
+
autumn_equinox: { month: 9, days: 22..24, longitude: 180 },
|
28
|
+
cold_dew: { month: 10, days: 7..9, longitude: 195 },
|
29
|
+
frost: { month: 10, days: 22..24, longitude: 210 },
|
30
|
+
start_of_winter: { month: 11, days: 7..9, longitude: 225 },
|
31
|
+
minor_snow: { month: 11, days: 21..23, longitude: 240 },
|
32
|
+
major_snow: { month: 12, days: 6..8, longitude: 255 },
|
33
|
+
winter_solstice: { month: 12, days: 21..23, longitude: 270 }
|
34
|
+
}.freeze
|
35
|
+
|
36
|
+
class << self
|
37
|
+
def find_solar_terms_times(year)
|
38
|
+
whole_year_data = fetch_ecliptic_longitudes(Date.new(year, 1, 5), Date.new(year, 12, 23), step: '1 hour')
|
39
|
+
whole_year_data.sort_by! { |d| d[:longitude] }
|
40
|
+
|
41
|
+
SOLAR_TERMS.keys.each_with_object({}) do |key, h|
|
42
|
+
range = range_index(whole_year_data, SOLAR_TERMS[key][:longitude])
|
43
|
+
range = [whole_year_data[range[0]], whole_year_data[range[1]]]
|
44
|
+
# interpolate the time
|
45
|
+
longitude_diff = range[1][:longitude] - range[0][:longitude]
|
46
|
+
longitude_diff += 360 if longitude_diff.negative?
|
47
|
+
target_longitude = SOLAR_TERMS[key][:longitude].zero? ? 360 : SOLAR_TERMS[key][:longitude]
|
48
|
+
ratio = (target_longitude - range[0][:longitude]) / longitude_diff
|
49
|
+
base_time = DateTime.parse(range[0][:time])
|
50
|
+
h[key] = base_time + 1/24r * ratio.to_r
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
def range_index(data, longitude)
|
55
|
+
return [data.size - 1, 0] if longitude.zero?
|
56
|
+
|
57
|
+
index = data.bsearch_index { |d| d[:longitude] >= longitude }
|
58
|
+
[index - 1, index]
|
59
|
+
end
|
60
|
+
|
61
|
+
def fetch_ecliptic_longitudes(start_time, end_time, step:)
|
62
|
+
response = Faraday.get('https://ssd.jpl.nasa.gov/api/horizons.api', {
|
63
|
+
format: 'text',
|
64
|
+
COMMAND: '10',
|
65
|
+
QUANTITIES: '31',
|
66
|
+
START_TIME: "'#{start_time.strftime(TIME_FORMAT)}'",
|
67
|
+
STOP_TIME: "'#{end_time.strftime(TIME_FORMAT)}'",
|
68
|
+
STEP_SIZE: "'#{step}'"
|
69
|
+
})
|
70
|
+
lines = response.body.split("\n")
|
71
|
+
lines[lines.index('$$SOE') + 1..lines.index('$$EOE') - 1].map do |line|
|
72
|
+
# regex matches the time and ecliptic longitude
|
73
|
+
matches = line.match(/(\d+-\w+-\d{2} \d{2}:\d{2}|\d+-\w+-\d{2} \d{2}:\d{2}:\d{2}\.\d{3})\s+([\d.]+)/)
|
74
|
+
{
|
75
|
+
time: matches[1],
|
76
|
+
longitude: matches[2].to_f
|
77
|
+
}
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
en:
|
2
|
+
minor_cold: Minor Cold
|
3
|
+
major_cold: Major Cold
|
4
|
+
start_of_spring: Start Of Spring
|
5
|
+
spring_showers: Spring Showers
|
6
|
+
awakening_of_insects: Awakening Of Insects
|
7
|
+
spring_equinox: Spring Equinox
|
8
|
+
pure_brightness: Pure Brightness
|
9
|
+
grain_rain: Grain Rain
|
10
|
+
start_of_summer: Start Of Summer
|
11
|
+
grain_buds: Grain Buds
|
12
|
+
grain_in_ear: Grain In Ear
|
13
|
+
summer_solstice: Summer Solstice
|
14
|
+
minor_heat: Minor Heat
|
15
|
+
major_heat: Major Heat
|
16
|
+
start_of_autumn: Start Of Autumn
|
17
|
+
end_of_heat: End Of Heat
|
18
|
+
white_dew: White Dew
|
19
|
+
autumn_equinox: Autumn Equinox
|
20
|
+
cold_dew: Cold Dew
|
21
|
+
frost: Frost
|
22
|
+
start_of_winter: Start Of Winter
|
23
|
+
minor_snow: Minor Snow
|
24
|
+
major_snow: Major Snow
|
25
|
+
winter_solstice: Winter Solstice
|
@@ -0,0 +1,25 @@
|
|
1
|
+
ja:
|
2
|
+
minor_cold: 小寒
|
3
|
+
major_cold: 大寒
|
4
|
+
start_of_spring: 立春
|
5
|
+
spring_showers: 雨水
|
6
|
+
awakening_of_insects: 啓蟄
|
7
|
+
spring_equinox: 春分
|
8
|
+
pure_brightness: 清明
|
9
|
+
grain_rain: 穀雨
|
10
|
+
start_of_summer: 立夏
|
11
|
+
grain_buds: 小満
|
12
|
+
grain_in_ear: 芒種
|
13
|
+
summer_solstice: 夏至
|
14
|
+
minor_heat: 小暑
|
15
|
+
major_heat: 大暑
|
16
|
+
start_of_autumn: 立秋
|
17
|
+
end_of_heat: 処暑
|
18
|
+
white_dew: 白露
|
19
|
+
autumn_equinox: 秋分
|
20
|
+
cold_dew: 寒露
|
21
|
+
frost: 霜降
|
22
|
+
start_of_winter: 立冬
|
23
|
+
minor_snow: 小雪
|
24
|
+
major_snow: 大雪
|
25
|
+
winter_solstice: 冬至
|
@@ -0,0 +1,25 @@
|
|
1
|
+
ko:
|
2
|
+
minor_cold: 소한
|
3
|
+
major_cold: 대한
|
4
|
+
start_of_spring: 입춘
|
5
|
+
spring_showers: 우수
|
6
|
+
awakening_of_insects: 경칩
|
7
|
+
spring_equinox: 춘분
|
8
|
+
pure_brightness: 청명
|
9
|
+
grain_rain: 곡우
|
10
|
+
start_of_summer: 입하
|
11
|
+
grain_buds: 소만
|
12
|
+
grain_in_ear: 망종
|
13
|
+
summer_solstice: 하지
|
14
|
+
minor_heat: 소서
|
15
|
+
major_heat: 대서
|
16
|
+
start_of_autumn: 입추
|
17
|
+
end_of_heat: 처서
|
18
|
+
white_dew: 백로
|
19
|
+
autumn_equinox: 추분
|
20
|
+
cold_dew: 한로
|
21
|
+
frost: 상강
|
22
|
+
start_of_winter: 입동
|
23
|
+
minor_snow: 소설
|
24
|
+
major_snow: 대설
|
25
|
+
winter_solstice: 동지
|
@@ -0,0 +1,25 @@
|
|
1
|
+
vi:
|
2
|
+
minor_cold: Tiểu Hàn
|
3
|
+
major_cold: Đại Hàn
|
4
|
+
start_of_spring: Lập Xuân
|
5
|
+
spring_showers: Vũ Thủy
|
6
|
+
awakening_of_insects: Kinh Trập
|
7
|
+
spring_equinox: Xuân Phân
|
8
|
+
pure_brightness: Thanh Minh
|
9
|
+
grain_rain: Cốc Vũ
|
10
|
+
start_of_summer: Lập Hạ
|
11
|
+
grain_buds: Tiểu Mãn
|
12
|
+
grain_in_ear: Mang Chủng
|
13
|
+
summer_solstice: Hạ Chí
|
14
|
+
minor_heat: Tiểu Thử
|
15
|
+
major_heat: Đại Thử
|
16
|
+
start_of_autumn: Lập Thu
|
17
|
+
end_of_heat: Xử Thử
|
18
|
+
white_dew: Bạch Lộ
|
19
|
+
autumn_equinox: Thu Phân
|
20
|
+
cold_dew: Hàn Lộ
|
21
|
+
frost: Sương Giáng
|
22
|
+
start_of_winter: Lập Đông
|
23
|
+
minor_snow: Tiểu Tuyết
|
24
|
+
major_snow: Đại Tuyết
|
25
|
+
winter_solstice: Đông Chí
|
@@ -0,0 +1,25 @@
|
|
1
|
+
zh-CN:
|
2
|
+
minor_cold: 小寒
|
3
|
+
major_cold: 大寒
|
4
|
+
start_of_spring: 立春
|
5
|
+
spring_showers: 雨水
|
6
|
+
awakening_of_insects: 惊蛰
|
7
|
+
spring_equinox: 春分
|
8
|
+
pure_brightness: 清明
|
9
|
+
grain_rain: 谷雨
|
10
|
+
start_of_summer: 立夏
|
11
|
+
grain_buds: 小满
|
12
|
+
grain_in_ear: 芒种
|
13
|
+
summer_solstice: 夏至
|
14
|
+
minor_heat: 小暑
|
15
|
+
major_heat: 大暑
|
16
|
+
start_of_autumn: 立秋
|
17
|
+
end_of_heat: 处暑
|
18
|
+
white_dew: 白露
|
19
|
+
autumn_equinox: 秋分
|
20
|
+
cold_dew: 寒露
|
21
|
+
frost: 霜降
|
22
|
+
start_of_winter: 立冬
|
23
|
+
minor_snow: 小雪
|
24
|
+
major_snow: 大雪
|
25
|
+
winter_solstice: 冬至
|
@@ -0,0 +1,25 @@
|
|
1
|
+
zh-TW:
|
2
|
+
minor_cold: 小寒
|
3
|
+
major_cold: 大寒
|
4
|
+
start_of_spring: 立春
|
5
|
+
spring_showers: 雨水
|
6
|
+
awakening_of_insects: 驚蟄
|
7
|
+
spring_equinox: 春分
|
8
|
+
pure_brightness: 清明
|
9
|
+
grain_rain: 穀雨
|
10
|
+
start_of_summer: 立夏
|
11
|
+
grain_buds: 小滿
|
12
|
+
grain_in_ear: 芒種
|
13
|
+
summer_solstice: 夏至
|
14
|
+
minor_heat: 小暑
|
15
|
+
major_heat: 大暑
|
16
|
+
start_of_autumn: 立秋
|
17
|
+
end_of_heat: 處暑
|
18
|
+
white_dew: 白露
|
19
|
+
autumn_equinox: 秋分
|
20
|
+
cold_dew: 寒露
|
21
|
+
frost: 霜降
|
22
|
+
start_of_winter: 立冬
|
23
|
+
minor_snow: 小雪
|
24
|
+
major_snow: 大雪
|
25
|
+
winter_solstice: 冬至
|