Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Mengira Bilangan Hari Kerja Antara Dua Tarikh di Jawa?

Patricia Arquette
Lepaskan: 2024-10-25 17:36:42
asal
415 orang telah melayarinya

How to Calculate the Number of Weekdays Between Two Dates in Java?

Kira Bilangan Hari Minggu Antara Dua Tarikh di Jawa

Bagi mereka yang mencari coretan kod Java untuk mengira bilangan hari perniagaan (tidak termasuk hujung minggu) antara dua tarikh, respons popular dari 2011 mencadangkan penyelesaian menggunakan kelas Kalendar. Walaupun Java 8 memperkenalkan keupayaan pengendalian masa masa moden melalui pakej java.time, kod berikut menunjukkan cara untuk mencapai pengiraan ini menggunakan API Kalendar:

<code class="java">public static int getWorkingDaysBetweenTwoDates(Date startDate, Date endDate) {
    Calendar startCal = Calendar.getInstance();
    startCal.setTime(startDate);        
    
    Calendar endCal = Calendar.getInstance();
    endCal.setTime(endDate);

    int workDays = 0;

    //Return 0 if start and end are the same
    if (startCal.getTimeInMillis() == endCal.getTimeInMillis()) {
        return 0;
    }
    
    if (startCal.getTimeInMillis() > endCal.getTimeInMillis()) {
        startCal.setTime(endDate);
        endCal.setTime(startDate);
    }

    do {
       //excluding start date
        startCal.add(Calendar.DAY_OF_MONTH, 1);
        if (startCal.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY && startCal.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY) {
            ++workDays;
        }
    } while (startCal.getTimeInMillis() < endCal.getTimeInMillis()); //excluding end date

    return workDays;
}</code>
Salin selepas log masuk

Perhatikan bahawa penyelesaian ini mengikut "berterusan " pendekatan mengira, tidak termasuk tarikh mula dan tamat itu sendiri. Contohnya, jika permulaan dan tamat masing-masing pada hari Isnin dan Jumaat, kaedah akan mengembalikan 4.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Bilangan Hari Kerja Antara Dua Tarikh di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!