1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import{_ as i,c as a,a2 as t,o as n}from"./chunks/framework.BI-rd6Wj.js";const E=JSON.parse('{"title":"Solar Terms Module","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/24-solar-terms.md","filePath":"en/guide/24-solar-terms.md"}'),e={name:"en/guide/24-solar-terms.md"};function l(h,s,r,p,k,o){return n(),a("div",null,s[0]||(s[0]=[t(`<h1 id="solar-terms-module" tabindex="-1">Solar Terms Module <a class="header-anchor" href="#solar-terms-module" aria-label="Permalink to "Solar Terms Module""></a></h1><p>China's 24 solar terms are a part of the traditional agricultural calendar, marking distinct <strong>periods</strong> within a year. Each solar term typically begins on a specific (start) date but represents a period lasting about 15 days until the next solar term starts.</p><p>For example, the solar term <strong>"Lesser Fullness of Grain" (小满)</strong> begins around <strong>May 20th</strong> in the Gregorian calendar. However, it doesn't end on that day; instead, it lasts until the next solar term, <strong>"Grain in Ear" (芒种)</strong>, which starts around <strong>June 5th</strong>. Therefore, the "Lesser Fullness of Grain" period is roughly from May 20th to June 5th.</p><hr><h2 id="retrieve-dates-of-the-24-solar-terms" tabindex="-1">Retrieve Dates of the 24 Solar Terms <a class="header-anchor" href="#retrieve-dates-of-the-24-solar-terms" aria-label="Permalink to "Retrieve Dates of the 24 Solar Terms""></a></h2><h3 id="get-solar-term-dates-within-a-range" tabindex="-1">Get Solar Term Dates Within a Range <a class="header-anchor" href="#get-solar-term-dates-within-a-range" aria-label="Permalink to "Get Solar Term Dates Within a Range""></a></h3><div class="language-js vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { getSolarTermsInRange } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "chinese-days"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
- <span class="line"></span>
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// If no arguments are passed, it returns the solar term for the current day</span></span>
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">getSolarTermsInRange</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">());</span></span>
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// [{date: '2024-05-29', term: 'lesser_fullness_of_grain', name: '小满', index: 10}]</span></span>
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// index: Represents the day count within the current solar term, starting from 1</span></span>
- <span class="line"></span>
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// Query a specific date if only the start date is provided</span></span>
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">getSolarTermsInRange</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'2024-05-01'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">));</span></span>
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// [{date: '2024-05-01', term: 'grain_rain', name: '谷雨', index: 13}]</span></span>
- <span class="line"></span>
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// Query solar terms within a date range</span></span>
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">getSolarTermsInRange</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'2024-05-01'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'2024-05-06'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">));</span></span>
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">/**</span></span>
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * =></span></span>
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * [</span></span>
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * {"date":"2024-05-01","term":"grain_rain","name":"谷雨","index":13},</span></span>
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * {"date":"2024-05-02","term":"grain_rain","name":"谷雨","index":14},</span></span>
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * {"date":"2024-05-03","term":"grain_rain","name":"谷雨","index":15},</span></span>
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * {"date":"2024-05-04","term":"grain_rain","name":"谷雨","index":16},</span></span>
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * {"date":"2024-05-05","term":"the_beginning_of_summer","name":"立夏","index":1},</span></span>
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * {"date":"2024-05-06","term":"the_beginning_of_summer","name":"立夏","index":2}</span></span>
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * ]</span></span>
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> */</span></span></code></pre></div><hr><h3 id="retrieve-only-the-start-dates-of-solar-terms" tabindex="-1">Retrieve Only the Start Dates of Solar Terms <a class="header-anchor" href="#retrieve-only-the-start-dates-of-solar-terms" aria-label="Permalink to "Retrieve Only the Start Dates of Solar Terms""></a></h3><div class="language-js vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { getSolarTerms } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "chinese-days"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
- <span class="line"></span>
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">/** Get the array of solar term start dates within a specified range */</span></span>
- <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> solarTerms</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> getSolarTerms</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"2024-05-01"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"2024-05-20"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span>
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">solarTerms.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">forEach</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(({ </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">date</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">term</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=></span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">\`\${</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">name</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">}: \${</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">date</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">}, \${</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">term</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">}\`</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span>
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">});</span></span>
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// Output:</span></span>
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// 立夏: 2024-05-05, the_beginning_of_summer</span></span>
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// 小满: 2024-05-20, lesser_fullness_of_grain</span></span>
- <span class="line"></span>
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// If there are no solar terms within the range, return []</span></span>
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">getSolarTerms</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"2024-05-21"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"2024-05-25"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">));</span></span>
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// Output: []</span></span>
- <span class="line"></span>
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// Query the solar term for a specific day if no end date is provided</span></span>
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">getSolarTerms</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"2024-05-20"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">));</span></span>
- <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// Output: [{date: '2024-05-20', term: 'lesser_fullness_of_grain', name: '小满'}]</span></span></code></pre></div>`,10)]))}const g=i(e,[["render",l]]);export{E as __pageData,g as default};
|