en_guide_24-solar-terms.md.C20wFIAR.js 13 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. 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 &quot;Solar Terms Module&quot;">​</a></h1><p>China&#39;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>&quot;Lesser Fullness of Grain&quot; (小满)</strong> begins around <strong>May 20th</strong> in the Gregorian calendar. However, it doesn&#39;t end on that day; instead, it lasts until the next solar term, <strong>&quot;Grain in Ear&quot; (芒种)</strong>, which starts around <strong>June 5th</strong>. Therefore, the &quot;Lesser Fullness of Grain&quot; 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 &quot;Retrieve Dates of the 24 Solar Terms&quot;">​</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 &quot;Get Solar Term Dates Within a Range&quot;">​</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;"> &quot;chinese-days&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
  2. <span class="line"></span>
  3. <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>
  4. <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>
  5. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// [{date: &#39;2024-05-29&#39;, term: &#39;lesser_fullness_of_grain&#39;, name: &#39;小满&#39;, index: 10}]</span></span>
  6. <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>
  7. <span class="line"></span>
  8. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// Query a specific date if only the start date is provided</span></span>
  9. <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;">&#39;2024-05-01&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">));</span></span>
  10. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// [{date: &#39;2024-05-01&#39;, term: &#39;grain_rain&#39;, name: &#39;谷雨&#39;, index: 13}]</span></span>
  11. <span class="line"></span>
  12. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// Query solar terms within a date range</span></span>
  13. <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;">&#39;2024-05-01&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;2024-05-06&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">));</span></span>
  14. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">/**</span></span>
  15. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * =&gt;</span></span>
  16. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * [</span></span>
  17. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * {&quot;date&quot;:&quot;2024-05-01&quot;,&quot;term&quot;:&quot;grain_rain&quot;,&quot;name&quot;:&quot;谷雨&quot;,&quot;index&quot;:13},</span></span>
  18. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * {&quot;date&quot;:&quot;2024-05-02&quot;,&quot;term&quot;:&quot;grain_rain&quot;,&quot;name&quot;:&quot;谷雨&quot;,&quot;index&quot;:14},</span></span>
  19. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * {&quot;date&quot;:&quot;2024-05-03&quot;,&quot;term&quot;:&quot;grain_rain&quot;,&quot;name&quot;:&quot;谷雨&quot;,&quot;index&quot;:15},</span></span>
  20. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * {&quot;date&quot;:&quot;2024-05-04&quot;,&quot;term&quot;:&quot;grain_rain&quot;,&quot;name&quot;:&quot;谷雨&quot;,&quot;index&quot;:16},</span></span>
  21. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * {&quot;date&quot;:&quot;2024-05-05&quot;,&quot;term&quot;:&quot;the_beginning_of_summer&quot;,&quot;name&quot;:&quot;立夏&quot;,&quot;index&quot;:1},</span></span>
  22. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * {&quot;date&quot;:&quot;2024-05-06&quot;,&quot;term&quot;:&quot;the_beginning_of_summer&quot;,&quot;name&quot;:&quot;立夏&quot;,&quot;index&quot;:2}</span></span>
  23. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * ]</span></span>
  24. <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 &quot;Retrieve Only the Start Dates of Solar Terms&quot;">​</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;"> &quot;chinese-days&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
  25. <span class="line"></span>
  26. <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>
  27. <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;">&quot;2024-05-01&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;2024-05-20&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span>
  28. <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;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
  29. <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>
  30. <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">});</span></span>
  31. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// Output:</span></span>
  32. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// 立夏: 2024-05-05, the_beginning_of_summer</span></span>
  33. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// 小满: 2024-05-20, lesser_fullness_of_grain</span></span>
  34. <span class="line"></span>
  35. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// If there are no solar terms within the range, return []</span></span>
  36. <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;">&quot;2024-05-21&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;2024-05-25&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">));</span></span>
  37. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// Output: []</span></span>
  38. <span class="line"></span>
  39. <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>
  40. <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;">&quot;2024-05-20&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">));</span></span>
  41. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// Output: [{date: &#39;2024-05-20&#39;, term: &#39;lesser_fullness_of_grain&#39;, name: &#39;小满&#39;}]</span></span></code></pre></div>`,10)]))}const g=i(e,[["render",l]]);export{E as __pageData,g as default};