guide_working-days.md.BbdiMLQt.lean.js 15 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import{_ as i,c as a,a0 as n,o as k}from"./chunks/framework.CUIZiAXs.js";const o=JSON.parse('{"title":"工作日","description":"","frontmatter":{},"headers":[],"relativePath":"guide/working-days.md","filePath":"zh/guide/working-days.md"}'),t={name:"guide/working-days.md"};function l(h,s,p,e,d,r){return k(),a("div",null,s[0]||(s[0]=[n(`<h1 id="工作日" tabindex="-1">工作日 <a class="header-anchor" href="#工作日" aria-label="Permalink to &quot;工作日&quot;">​</a></h1><h2 id="isworkday-检查某个日期是否为工作日" tabindex="-1"><code>isWorkday</code> 检查某个日期是否为工作日 <a class="header-anchor" href="#isworkday-检查某个日期是否为工作日" aria-label="Permalink to &quot;\`isWorkday\` 检查某个日期是否为工作日&quot;">​</a></h2><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:#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;">isWorkday</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;2023-01-01&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)); </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// false</span></span></code></pre></div><h2 id="getworkdaysinrange-取指定日期范围内的工作日列表" tabindex="-1"><code>getWorkdaysInRange</code> 取指定日期范围内的工作日列表 <a class="header-anchor" href="#getworkdaysinrange-取指定日期范围内的工作日列表" aria-label="Permalink to &quot;\`getWorkdaysInRange\` 取指定日期范围内的工作日列表&quot;">​</a></h2><p>接收起始日期和结束日期,并可选地决定是否包括周末。如果包括周末,则函数会返回包括周末在内的所有工作日;否则,只返回周一到周五的工作日。</p><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:#6A737D;--shiki-dark:#6A737D;">// 示例用法</span></span>
  2. <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> start</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;2024-04-26&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
  3. <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> end</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</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>
  4. <span class="line"></span>
  5. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// 获取从 2024-05-01 到 2024-05-10 的所有工作日,包括周末</span></span>
  6. <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> workdaysIncludingWeekends</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> getWorkdaysInRange</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(start, end, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">true</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span>
  7. <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;">&#39;Workdays including weekends:&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, workdaysIncludingWeekends);</span></span>
  8. <span class="line"></span>
  9. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// 获取从 2024-05-01 到 2024-05-10 的工作日,不包括周末</span></span>
  10. <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> workdaysExcludingWeekends</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> getWorkdaysInRange</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(start, end, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">false</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span>
  11. <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;">&#39;Workdays excluding weekends:&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, workdaysExcludingWeekends);</span></span></code></pre></div><h2 id="findworkday-查找工作日" tabindex="-1"><code>findWorkday</code> 查找工作日 <a class="header-anchor" href="#findworkday-查找工作日" aria-label="Permalink to &quot;\`findWorkday\` 查找工作日&quot;">​</a></h2><p>查找从今天开始 未来的第 {deltaDays} 个工作日。</p><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:#6A737D;--shiki-dark:#6A737D;">// 查找从今天开始 未来的第 {deltaDays} 个工作日</span></span>
  12. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// 如果 deltaDays 为 0,首先检查当前日期是否为工作日。如果是,则直接返回当前日期。</span></span>
  13. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// 如果当前日期不是工作日,会查找下一个工作日。</span></span>
  14. <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> currentWorkday</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> findWorkday</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span>
  15. <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;">(currentWorkday);</span></span>
  16. <span class="line"></span>
  17. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// 查找从今天开始未来的第一个工作日</span></span>
  18. <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> nextWorkday</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> findWorkday</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span>
  19. <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;">(nextWorkday);</span></span>
  20. <span class="line"></span>
  21. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// 查找从今天开始之前的前一个工作日</span></span>
  22. <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> previousWorkday</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> findWorkday</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">-</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span>
  23. <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;">(previousWorkday);</span></span>
  24. <span class="line"></span>
  25. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// 可以传第二个参数 查找具体日期的上下工作日</span></span>
  26. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// 查找从 2024-05-18 开始,未来的第二个工作日</span></span>
  27. <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> secondNextWorkday</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> findWorkday</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;2024-05-18&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span>
  28. <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;">(secondNextWorkday);</span></span></code></pre></div><h2 id="getdaydetail-获取日期信息" tabindex="-1"><code>getDayDetail</code> 获取日期信息 <a class="header-anchor" href="#getdaydetail-获取日期信息" aria-label="Permalink to &quot;\`getDayDetail\` 获取日期信息&quot;">​</a></h2><p>函数用于检查指定日期是否是工作日,并返回一个是否工作日的布尔值和日期的详情。</p><ol><li>如果指定日期是工作日,则返回 true 和工作日名称,如果是被调休的工作日,返回 true 和节假日详情。</li><li>如果是节假日,则返回 false 和节假日详情。</li></ol><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:#6A737D;--shiki-dark:#6A737D;">// 示例用法</span></span>
  29. <span class="line"></span>
  30. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// 正常工作日 周五</span></span>
  31. <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;">getDayDetail</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;2024-02-02&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)); </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// { &quot;date&quot;: &quot;2024-02-02&quot;, &quot;work&quot;:true,&quot;name&quot;:&quot;Friday&quot;}</span></span>
  32. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// 节假日 周末</span></span>
  33. <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;">getDayDetail</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;2024-02-03&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)); </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// { &quot;date&quot;: &quot;2024-02-03&quot;, &quot;work&quot;:false,&quot;name&quot;:&quot;Saturday&quot;}</span></span>
  34. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// 调休需要上班</span></span>
  35. <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;">getDayDetail</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;2024-02-04&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)); </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// { &quot;date&quot;: &quot;2024-02-04&quot;, &quot;work&quot;:true,&quot;name&quot;:&quot;Spring Festival,春节,3&quot;}</span></span>
  36. <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// 节假日 春节</span></span>
  37. <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;">getDayDetail</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;2024-02-17&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)); </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// { &quot;date&quot;: &quot;2024-02-17&quot;, &quot;work&quot;:false,&quot;name&quot;:&quot;Spring Festival,春节,3&quot;}</span></span></code></pre></div>`,13)]))}const g=i(t,[["render",l]]);export{o as __pageData,g as default};