Hitung Selisih Hari Tanpa Sabtu Minggu dengan JavaScript

Hitung Selisih Hari Tanpa Sabtu Minggu dengan JavaScript – Halo teman-teman sekalian, berjumpa kembali dengan saya yang pada kesempatan kali ini akan berbagi tutorial bagaimana cara membuat dan menghitung selisih hari tanpa sabtu dan minggu dengan JavaScript.

Misal, dalam satu bulan terdapat 30 hari maka jumlah pasti selisih hari tanpa sabtu dan minggu berjumlah sekitar 22 hari. Berlaku untuk kelipatan jika kalian ingin menghitung beberapa bulan sekaligus atau bahkan tahun.

Cara Hitung Selisih Hari Tanpa Sabtu dan Minggu dengan JavaScript

Baiklah, langsung saja masuk ke langsung ke tutorial cara menghitung selisih hari tanpa sabtu dan minggu dengan menggunakan bahasa pemrograman JavaScript. Sebelum lanjut ke tutorial, pastikan siapkan bahan-bahan berikut.

  • Buat file HTML dengan nama index.html yang nantinya akan digunakan untuk menampilkan form perhitungan.
  • Buat file JavaScript dengan nama script.js yang nantinya akan digunakan untuk memproses hasil inputan form perhitungan.

Jika sudah, langsung saja menuju langkah-langkah menghitung selisih hari tanpa sabtu dan minggu (business day) dengan menggunakan bahasa pemrograman JavaScript.

Step #1: Membuat Form Perhitungan

Pada langkah pertama, silahkan Anda copy paste kode berikut ke dalam file index.html yang telah dibuat sebelumnya lalu save. Untuk melihat hasilnya, jangan lupa untuk di-run pada browser yang Anda gunakan.

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Selisih Dua Tanggal Tanpa Hari Sabtu dan Minggu</title>
    <style>
      html, body {
        background-color: snow;
        font-family: Georgia;
      }
      #content {
        margin-top: 10px;
      }
    </style>
  </head>
  <body>
    <div id="content">
      <table>
        <tr>
          <td colspan="3"><h3>Hitung Selisih Hari Tanpa Sabtu dan Minggu</h3></td>
        </tr>
        <tr>
          <td><b>Tanggal Awal</b></td>
          <td>:</td>
          <td><input type="date" id="startdate" value="2020-07-01"></td>
        </tr>
        <tr>
          <td><b>Tanggal Akhir</b></td>
          <td>:</td>
          <td><input type="date" id="enddate" value="2020-07-31"></td>
        </tr>
        <tr>
          <td><b>Selisih Hari</b></td>
          <td>:</td>
          <td><output id="result">0 hari.</output></td>
        </tr>
      </table>
    </div>
  </body>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="script.js"></script>
</html>

Jika kode HTML di atas dijalankan dengan benar, maka seharusnya akan menampilkan hasil seperti pada gambar berikut.

Hitung Selisih Hari Tanpa Sabtu Minggu dengan JavaScript

Step #2: Membuat Script Perhitungan

Pada langkah selanjutnya, silahkan Anda copy paste kode berikut ke dalam file script.js yang telah dibuat sebelumnya lalu save.

(function() {
  'use strict';
  function subsdays(begin, end) {
    let Weeks, DateDiff, Adjust = 0;

    if(end < begin) return 0; let WeekDay1 = begin.getDay(); let WeekDay2 = end.getDay(); WeekDay1 = (WeekDay1 == 0) ? 7 : WeekDay1; WeekDay2 = (WeekDay2 == 0) ? 7 : WeekDay2; if((WeekDay1 > 5) && (WeekDay2 > 5)) Adjust = 1;

    WeekDay1 = (WeekDay1 > 5) ? 5 : WeekDay1;
    WeekDay2 = (WeekDay2 > 5) ? 5 : WeekDay2;

    if(isNaN(WeekDay2 - WeekDay1)) return 0;

    Weeks = Math.floor((end.getTime() - begin.getTime()) / (60 * 60 * 24 * 7 * 1000));

    if(WeekDay1 < WeekDay2 || (WeekDay1 - WeekDay2) < 1) {
      DateDiff = (Weeks * 5) + (WeekDay2 - WeekDay1);
    } else {
      DateDiff = ((Weeks + 1) * 5) - (WeekDay1 - WeekDay2);
    }

    DateDiff -= Adjust;
    return (DateDiff + 1);
  }

  $('#startdate, #enddate').change(function() {
    let date1 = new Date($('#startdate').val());
    let date2 = new Date($('#enddate').val());
    $('#result').html('' + subsdays(date1, date2) + ' hari.');
    // document.getElementById('result').innerHTML = subsdays(date1, date2) + ' hari.';
    // window.location = 'update.php?begin=' + $('#startdate').val() + '&end=' + $('#enddate').val() + '';
  });
} ());

Khusus pada baris ke 29 hingga 30 pada kode JavaScript dapat Anda gunakan apabila ingin menggunakan PHP. Silahkan hapus komentar baris tersebut untuk mengkombinasikan dengan program PHP milik Anda.

Penutup

Demikian tutorial pada kesempatan kali ini mengenai tutorial hitung selisih hari tanpa sabtu minggu dengan JavaScript. Semoga bermanfaat untuk kalian yang sedang ingin menambah fitur perkiraan pengiriman barang atau faktur pembelian dan sebagainya.

Bagikan Ke

Leave a Reply

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *