<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sabita Kumari</title>
    <description>The latest articles on DEV Community by Sabita Kumari (@sabita_kumari_7b0e5b47ad5).</description>
    <link>https://dev.to/sabita_kumari_7b0e5b47ad5</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3905821%2F67951fef-b7d0-4d55-a01a-edf9ffedf437.png</url>
      <title>DEV Community: Sabita Kumari</title>
      <link>https://dev.to/sabita_kumari_7b0e5b47ad5</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sabita_kumari_7b0e5b47ad5"/>
    <language>en</language>
    <item>
      <title>How to Calculate Business Days Between Two Dates in JavaScript</title>
      <dc:creator>Sabita Kumari</dc:creator>
      <pubDate>Thu, 30 Apr 2026 22:38:25 +0000</pubDate>
      <link>https://dev.to/sabita_kumari_7b0e5b47ad5/how-to-calculate-business-days-between-two-dates-in-javascript-16h6</link>
      <guid>https://dev.to/sabita_kumari_7b0e5b47ad5/how-to-calculate-business-days-between-two-dates-in-javascript-16h6</guid>
      <description>&lt;p&gt;When working with dates in &lt;strong&gt;JavaScript&lt;/strong&gt;, calculating the difference between two dates is easy if you only need calendar days.&lt;/p&gt;

&lt;p&gt;But in real business use cases, we often need to calculate &lt;strong&gt;business days&lt;/strong&gt;, also called &lt;strong&gt;working days&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Business days usually exclude Saturdays and Sundays. In some cases, public holidays also need to be excluded.&lt;/p&gt;

&lt;p&gt;I created a free online Business Days Calculator for checking this quickly:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://greatuptools.com/business-days-calculator" rel="noopener noreferrer"&gt;https://greatuptools.com/business-days-calculator&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F43n0k5uf3wq2s63450wf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F43n0k5uf3wq2s63450wf.png" alt=" " width="800" height="603"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What are business days?
&lt;/h2&gt;

&lt;p&gt;Business days usually mean Monday to Friday.&lt;/p&gt;

&lt;p&gt;Saturday and Sunday are normally excluded because they are weekends.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Business days:&lt;/strong&gt; Monday, Tuesday, Wednesday, Thursday, Friday&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Weekend days:&lt;/strong&gt; Saturday, Sunday&lt;/p&gt;

&lt;h2&gt;
  
  
  Basic JavaScript date difference
&lt;/h2&gt;

&lt;p&gt;If you only want the number of calendar days between two dates, you can subtract two dates in &lt;strong&gt;JavaScript&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code example:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;const startDate = new Date("2026-01-01");&lt;br&gt;
const endDate = new Date("2026-12-31");&lt;/p&gt;

&lt;p&gt;const millisecondsPerDay = 1000 * 60 * 60 * 24;&lt;br&gt;
const differenceInDays = Math.floor((endDate - startDate) / millisecondsPerDay);&lt;/p&gt;

&lt;p&gt;console.log(differenceInDays);&lt;/p&gt;

&lt;p&gt;This counts calendar days, not business days.&lt;/p&gt;

&lt;h2&gt;
  
  
  Calculate business days in JavaScript
&lt;/h2&gt;

&lt;p&gt;To calculate business days, we can loop through each date and skip Saturday and Sunday.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code example:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;function getBusinessDays(startDate, endDate) {&lt;br&gt;
  const start = new Date(startDate);&lt;br&gt;
  const end = new Date(endDate);&lt;/p&gt;

&lt;p&gt;if (end &amp;lt; start) {&lt;br&gt;
    return 0;&lt;br&gt;
  }&lt;/p&gt;

&lt;p&gt;let count = 0;&lt;br&gt;
  const current = new Date(start);&lt;/p&gt;

&lt;p&gt;while (current &amp;lt;= end) {&lt;br&gt;
    const day = current.getDay();&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// 0 = Sunday, 6 = Saturday
if (day !== 0 &amp;amp;&amp;amp; day !== 6) {
  count++;
}

current.setDate(current.getDate() + 1);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;return count;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;console.log(getBusinessDays("2026-01-01", "2026-12-31"));&lt;/p&gt;

&lt;h2&gt;
  
  
  How the logic works
&lt;/h2&gt;

&lt;p&gt;JavaScript's &lt;code&gt;getDay()&lt;/code&gt; method returns a number from 0 to 6.&lt;/p&gt;

&lt;p&gt;0 = Sunday&lt;br&gt;&lt;br&gt;
1 = Monday&lt;br&gt;&lt;br&gt;
2 = Tuesday&lt;br&gt;&lt;br&gt;
3 = Wednesday&lt;br&gt;&lt;br&gt;
4 = Thursday&lt;br&gt;&lt;br&gt;
5 = Friday&lt;br&gt;&lt;br&gt;
6 = Saturday&lt;/p&gt;

&lt;p&gt;So the logic is simple:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code example:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;if (day !== 0 &amp;amp;&amp;amp; day !== 6) {&lt;br&gt;
  count++;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;This means we count only Monday to Friday.&lt;/p&gt;

&lt;h2&gt;
  
  
  Inclusive vs exclusive date counting
&lt;/h2&gt;

&lt;p&gt;The above example includes both the start date and the end date.&lt;/p&gt;

&lt;p&gt;For example, Monday to Friday gives:&lt;/p&gt;

&lt;p&gt;Monday = 1&lt;br&gt;&lt;br&gt;
Tuesday = 2&lt;br&gt;&lt;br&gt;
Wednesday = 3&lt;br&gt;&lt;br&gt;
Thursday = 4&lt;br&gt;&lt;br&gt;
Friday = 5&lt;/p&gt;

&lt;p&gt;So the result is 5 business days.&lt;/p&gt;

&lt;p&gt;In some cases, you may want to exclude the start date. In that case, you can start counting from the next day.&lt;/p&gt;

&lt;h2&gt;
  
  
  Business days with public holidays
&lt;/h2&gt;

&lt;p&gt;In real applications, weekends are not the only thing to exclude.&lt;/p&gt;

&lt;p&gt;Sometimes you also need to exclude public holidays.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code example:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;const holidays = [&lt;br&gt;
  "2026-01-26",&lt;br&gt;
  "2026-08-15",&lt;br&gt;
  "2026-10-02"&lt;br&gt;
];&lt;/p&gt;

&lt;p&gt;Then you can update the function:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code example:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;function getBusinessDaysExcludingHolidays(startDate, endDate, holidays = []) {&lt;br&gt;
  const start = new Date(startDate);&lt;br&gt;
  const end = new Date(endDate);&lt;/p&gt;

&lt;p&gt;if (end &amp;lt; start) {&lt;br&gt;
    return 0;&lt;br&gt;
  }&lt;/p&gt;

&lt;p&gt;const holidaySet = new Set(holidays);&lt;br&gt;
  let count = 0;&lt;br&gt;
  const current = new Date(start);&lt;/p&gt;

&lt;p&gt;while (current &amp;lt;= end) {&lt;br&gt;
    const day = current.getDay();&lt;br&gt;
    const dateString = current.toISOString().split("T")[0];&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const isWeekend = day === 0 || day === 6;
const isHoliday = holidaySet.has(dateString);

if (!isWeekend &amp;amp;&amp;amp; !isHoliday) {
  count++;
}

current.setDate(current.getDate() + 1);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;return count;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;console.log(&lt;br&gt;
  getBusinessDaysExcludingHolidays("2026-01-01", "2026-12-31", [&lt;br&gt;
    "2026-01-26",&lt;br&gt;
    "2026-08-15",&lt;br&gt;
    "2026-10-02"&lt;br&gt;
  ])&lt;br&gt;
);&lt;/p&gt;

&lt;h2&gt;
  
  
  Common use cases
&lt;/h2&gt;

&lt;p&gt;Business day calculation is useful for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Project deadlines&lt;/li&gt;
&lt;li&gt;Invoice due dates&lt;/li&gt;
&lt;li&gt;Delivery estimates&lt;/li&gt;
&lt;li&gt;SLA tracking&lt;/li&gt;
&lt;li&gt;HR leave calculation&lt;/li&gt;
&lt;li&gt;Payroll&lt;/li&gt;
&lt;li&gt;Banking and finance timelines&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try it online
&lt;/h2&gt;

&lt;p&gt;If you do not want to manually calculate business days every time, I built a free online calculator here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://greatuptools.com/business-days-calculator" rel="noopener noreferrer"&gt;https://greatuptools.com/business-days-calculator&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It supports date ranges, weekends, countries, holidays, and result sharing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final thoughts
&lt;/h2&gt;

&lt;p&gt;Calculating calendar days is simple in &lt;strong&gt;JavaScript&lt;/strong&gt;, but business day calculation needs extra logic.&lt;/p&gt;

&lt;p&gt;The basic rule is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Count Monday to Friday&lt;/li&gt;
&lt;li&gt;Skip Saturday and Sunday&lt;/li&gt;
&lt;li&gt;Optionally exclude public holidays&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For quick manual checking, you can use this free Business Days Calculator:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://greatuptools.com/business-days-calculator" rel="noopener noreferrer"&gt;https://greatuptools.com/business-days-calculator&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
