Tính số ngày cuối tuần giữa hai ngày JavaScript

holidays - [ TÙY CHỌN ] - Một phạm vi hoặc hằng số mảng chứa số sê-ri ngày để xem xét các ngày lễ

  • Các giá trị được cung cấp trong một mảng cho holidays phải là giá trị số sê-ri ngày tháng, như được trả về bởi N hoặc giá trị ngày tháng, như được trả về bởi NETWORKDAYS(A2,B2)0, NETWORKDAYS(A2,B2)1 hoặc NETWORKDAYS(A2,B2)2. Các giá trị được chỉ định bởi một phạm vi phải là giá trị ngày tiêu chuẩn hoặc số sê-ri ngày

ghi chú

  • NETWORKDAYS(A2,B2)3 không tự động chuyển đổi định dạng số giống như cách mà Google Trang tính thực hiện khi nhập trực tiếp vào các ô. Do đó, NETWORKDAYS(A2,B2)4 được hiểu là NETWORKDAYS(A2,B2)5, các thương của 10 chia cho 10 lần lượt chia cho 2000 và 2001

  • NETWORKDAYS(A2,B2)3 tính số ngày làm việc giữa hai ngày. Để tính ngày làm việc trước một số ngày cụ thể, hãy sử dụng NETWORKDAYS(A2,B2)7

  • NETWORKDAYS(A2,B2)3 hoạt động tương tự như NETWORKDAYS(A2,B2)9 nhưng chỉ coi Thứ Bảy và Chủ Nhật là cuối tuần. Sử dụng NETWORKDAYS(A2,B2)9 để sử dụng các ngày khác trong tuần làm ngày cuối tuần

Xem thêm

NETWORKDAYS(A2,B2)9. Trả về số ngày làm việc ròng giữa hai ngày được cung cấp, không bao gồm các ngày cuối tuần và ngày lễ được chỉ định

NETWORKDAYS(A2,B2)7. Tính ngày kết thúc sau một số ngày làm việc được chỉ định

NETWORKDAYS(A2,B2)2. Chuyển đổi một số được cung cấp thành một ngày

N. Trả về đối số được cung cấp dưới dạng số

NETWORKDAYS(A2,B2)1. Chuyển đổi chuỗi ngày được cung cấp ở định dạng đã biết thành giá trị ngày

NETWORKDAYS(A2,B2)0. Chuyển đổi một năm, tháng và ngày thành một ngày

ví dụ

Trả về số ngày làm việc giữa start_dateend_date (dựa trên danh sách các ngày lễ đã cho)

Quy trình này dựa trên đoạn mã "Tính toán ngày làm việc" của elightbo trong ASP, với một số sửa đổi về quy trình và logic (đáng chú ý nhất là tính toán các tình huống khi cả hai ngày đều rơi vào cuối tuần) và bản dịch sang JavaScript



Sao chép mã này và dán vào HTML của bạn

  1. function calcBusinessDays(dDate1, dDate2) { // input given as Date objects

  2. var iWeeks, iDateDiff, iAdjust = 0;

  3. if (dDate2 < dDate1) return -1; // error code if dates transposed

  4. var iWeekday1 = dDate1.getDay(); // day of week

  5. var iWeekday2 = dDate2.getDay();

  6. iWeekday1 = (iWeekday1 == 0) ? 7 : iWeekday1; // change Sunday from 0 to 7

  7. iWeekday2 = (iWeekday2 == 0) ? 7 : iWeekday2;

  8. if ((iWeekday1 > 5) && (iWeekday2 > 5)) iAdjust = 1; // adjustment if both days on weekend

  9. iWeekday1 = (iWeekday1 > 5) ? 5 : iWeekday1; // only count weekdays

  10. iWeekday2 = (iWeekday2 > 5) ? 5 : iWeekday2;

  11. // calculate differnece in weeks (1000mS * 60sec * 60min * 24hrs * 7 days = 604800000)

  12. iWeeks = Math.floor((dDate2.getTime() - dDate1.getTime()) / 604800000)

  13. if (iWeekday1 <= iWeekday2) {

  14. iDateDiff = (iWeeks * 5) + (iWeekday2 - iWeekday1)

  15. iDateDiff = ((iWeeks + 1) * 5) - (iWeekday1 - iWeekday2)

  16. iDateDiff -= iAdjust // take into account both days on weekend

  17. return (iDateDiff + 1); // add 1 because dates are inclusive

Bình luận

Tính số ngày cuối tuần giữa hai ngày JavaScript
Đăng ký bình luận

Tính số ngày giữa hai ngày trong JavaScript cần thiết để sử dụng đối tượng ngày cho bất kỳ loại phép tính nào. Đối với điều đó, trước tiên, hãy lấy giá trị mili giây nội bộ của ngày bằng cách sử dụng hàm JavaScript getTime() tích hợp. Ngay sau khi cả hai ngày được chuyển đổi, hãy tiếp tục bằng cách trừ ngày sau khỏi ngày trước đó, từ đó trả về chênh lệch tính bằng mili giây. Sau đó, kết quả cuối cùng có thể được tính bằng cách chia chênh lệch (tính bằng mili giây) của cả hai ngày cho số mili giây trong một ngày.  

cú pháp.  

Date.getTime()

Cách tiếp cận 1.  

  • Xác định hai ngày bằng Date() mới
  • Tính chênh lệch thời gian của hai ngày bằng date2. getTime() – ngày1. dành thời gian();
  • tính toán không. ngày giữa hai ngày, chia chênh lệch thời gian của cả hai ngày cho không. của mili giây trong một ngày (1000*60*60*24)
  • In kết quả cuối cùng bằng tài liệu. viết()

ví dụ 1. Chương trình JavaScript sau đây sẽ minh họa giải pháp

jav




"text/javascript"5_______68_______9>0

"text/javascript"5_______69_______2

Total number of days between dates 
Sun Jun 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time)
and 
Tue Jul 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time) is: 
30
0

>4

đầu ra.  

Total number of days between dates 
Sun Jun 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time)
and 
Tue Jul 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time) is: 
30

Cách tiếp cận 2.  

  • Đã xác định ngày hiện tại bằng cách sử dụng new date() sẽ cho ngày hiện tại và ngày Giáng sinh theo ngày. getFullYear() (cái này sẽ lấy năm, 0-11 là các tháng trong JavaScript)
  • nếu điều kiện để tính tổng số ngày nếu Giáng sinh đã trôi qua (điều này sẽ tính toán không. số ngày giữa ngày hiện tại và Giáng sinh của năm tiếp theo)
  • Sử dụng toán học. vòng(giáng sinh() – ngày_nay. getTime()) Chia mili giây của một ngày để Tính kết quả theo mili giây rồi chuyển đổi thành ngày

ví dụ 2. Trong ví dụ này, chúng tôi đã tính số ngày cho đến ngày Giáng sinh.  

jav




    // JavaScript program to illustrate 3

    

Total number of days between dates 
Sun Jun 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time)
and 
Tue Jul 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time) is: 
30
4 // JavaScript program to illustrate 6
Total number of days between dates 
Sun Jun 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time)
and 
Tue Jul 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time) is: 
30
6 // JavaScript program to illustrate 8

Total number of days between dates 
Sun Jun 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time)
and 
Tue Jul 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time) is: 
30
0

        1

        3     4

        6

Total number of days between dates 
Sun Jun 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time)
and 
Tue Jul 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time) is: 
30
0

        9

    

Total number of days between dates 
Sun Jun 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time)
and 
Tue Jul 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time) is: 
30
4 // calculation of no. of days between two date 2

// calculation of no. of days between two date 3// calculation of no. of days between two date 4

Total number of days between dates 
Sun Jun 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time)
and 
Tue Jul 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time) is: 
30
0

    // calculation of no. of days between two date 7

    

Total number of days between dates 
Sun Jun 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time)
and 
Tue Jul 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time) is: 
30
4
Total number of days between dates 
Sun Jun 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time)
and 
Tue Jul 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time) is: 
30
00

Total number of days between dates 
Sun Jun 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time)
and 
Tue Jul 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time) is: 
30
0

    

Total number of days between dates 
Sun Jun 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time)
and 
Tue Jul 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time) is: 
30
03

    "text/javascript"3_______2_______06

"text/javascript"5_______2_______08"text/javascript"7

"text/javascript"5_______2_______11>0

"text/javascript"5_______2_______14

Total number of days between dates 
Sun Jun 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time)
and 
Tue Jul 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time) is: 
30
0

>4

đầu ra.  

Number of days remaining till christmas 
Sun Jun 30 2019 11:33:51 GMT-0700 (Pacific Daylight Time)
and 
Wed Dec 25 2019 00:00:00 GMT-0800 (Pacific Standard Time) is: 
178

JavaScript được biết đến nhiều nhất để phát triển trang web nhưng nó cũng được sử dụng trong nhiều môi trường không có trình duyệt. Bạn có thể học JavaScript từ đầu bằng cách làm theo Hướng dẫn JavaScript và Ví dụ về JavaScript này

Làm cách nào để tính ngày cuối tuần giữa hai ngày trong JavaScript?

Cách tiếp cận 1. Tính số ngày bằng cách nhập hai ngày . getTime() - ngày1. dành thời gian();

Làm cách nào để tính số ngày Chủ nhật giữa hai ngày trong JavaScript?

TotalDays / 7) + (ngày. DayOfWeek == DayOfWeek. Chủ nhật. ngày tháng năm. DayOfWeek == DayOfWeek .

Làm cách nào để tính số ngày trong tuần giữa hai ngày trong JavaScript?

JS. Ngày làm việc Calc từ Thứ Hai đến Thứ Sáu . var startDay = startDate. getDay(); . getDay();

Làm cách nào để lặp lại giữa hai ngày trong JavaScript?

Một cách để lặp qua phạm vi ngày bằng JavaScript là sử dụng vòng lặp while . Chúng ta có thể tạo các biến cho ngày bắt đầu và ngày kết thúc. Sau đó, chúng tôi có thể tăng ngày bắt đầu cho đến khi đến ngày kết thúc. Chúng ta có các biến bắt đầu và kết thúc với ngày bắt đầu và ngày kết thúc tương ứng.