Làm cách nào để kiểm tra phạm vi ngày trong JavaScript?

Xin chào,

Tôi đang cố gắng tìm xem có ngày nào nằm trong phạm vi ngày cụ thể hay không.
Ví dụ. Trong ảnh chụp màn hình bên dưới muốn kiểm tra xem Ngày_bắt đầu_hiệu lực có ở giữa Ngày_hiệu_quả và Ngày_kết_thúc hay không.

Tôi đã đặt logic bên dưới, nhưng không nhận được đầu ra mong muốn.
Effective_Date>=Validity_Start_Date và Validity_Start_Date>=End_Date

Ban đầu được tạo cho các báo cáo tại Betterly, Bộ chọn phạm vi ngày có thể được đính kèm vào bất kỳ thành phần trang web nào để bật lên hai lịch để chọn ngày, giờ hoặc phạm vi được xác định trước như "30 ngày qua"

Để bắt đầu, hãy bao gồm jQuery, Moment. js và các tệp của Bộ chọn phạm vi ngày trong trang web của bạn

Sau đó đính kèm bộ chọn phạm vi ngày vào bất cứ thứ gì bạn muốn kích hoạt nó

Bạn có thể tùy chỉnh Bộ chọn phạm vi ngày với các tùy chọn và nhận thông báo khi người dùng chọn ngày mới bằng cách cung cấp chức năng gọi lại

  • startDate (Ngày hoặc chuỗi) Ngày bắt đầu của phạm vi ngày được chọn ban đầu. Nếu bạn cung cấp một chuỗi, chuỗi đó phải khớp với chuỗi định dạng ngày được đặt trong cài đặt locale của bạn
  • endDate. (Ngày hoặc chuỗi) Ngày kết thúc của phạm vi ngày được chọn ban đầu
  • minDate. (Ngày hoặc chuỗi) Ngày sớm nhất mà người dùng có thể chọn
  • maxDate. (Ngày hoặc chuỗi) Ngày mới nhất mà người dùng có thể chọn
  • maxSpan. (đối tượng) Khoảng thời gian tối đa giữa ngày bắt đầu và ngày kết thúc đã chọn. Đánh dấu vào maxSpan trong trình tạo cấu hình để biết ví dụ về cách sử dụng. Bạn có thể cung cấp bất kỳ đối tượng nào mà thư viện moment sẽ cho phép bạn thêm vào một ngày
  • ________số 8. (true/false) Hiển thị hộp chọn năm và tháng phía trên lịch để chuyển đến một tháng và năm cụ thể
  • minYear. (số) Năm tối thiểu được hiển thị trong danh sách thả xuống khi showDropdowns được đặt thành true
  • locale1. (số) Năm tối đa được hiển thị trong danh sách thả xuống khi showDropdowns được đặt thành true
  • locale3. (đúng/sai) Hiển thị số tuần được bản địa hóa vào đầu mỗi tuần trên lịch
  • locale4. (true/false) Hiển thị số tuần ISO vào đầu mỗi tuần trên lịch
  • locale5. (đúng/sai) Thêm hộp chọn để chọn thời gian ngoài ngày
  • locale6. (số) Gia số của danh sách lựa chọn phút cho thời gian (i. e. 30 để chỉ cho phép lựa chọn thời gian kết thúc bằng 0 hoặc 30)
  • locale7. (đúng/sai) Sử dụng thời gian 24 giờ thay vì 12 giờ, loại bỏ lựa chọn AM/PM
  • locale8. (true/false) Hiển thị giây trong timePicker
  • locale9. (đối tượng) Đặt phạm vi ngày được xác định trước mà người dùng có thể chọn từ. Mỗi khóa là nhãn cho phạm vi và giá trị của nó là một mảng có hai ngày đại diện cho các giới hạn của phạm vi. Nhấp vào locale9 trong trình tạo cấu hình để biết ví dụ
  • endDate1. (true/false) Hiển thị "Phạm vi tùy chỉnh" ở cuối danh sách các phạm vi được xác định trước, khi tùy chọn locale9 được sử dụng. Tùy chọn này sẽ được đánh dấu bất cứ khi nào lựa chọn phạm vi ngày hiện tại không khớp với một trong các phạm vi được xác định trước. Nhấp vào nó sẽ hiển thị lịch để chọn một phạm vi mới
  • endDate3. (true/false) Thông thường, nếu bạn sử dụng tùy chọn ________ 19 để chỉ định phạm vi ngày được xác định trước, lịch để chọn phạm vi ngày tùy chỉnh sẽ không được hiển thị cho đến khi người dùng nhấp vào "Phạm vi tùy chỉnh". Khi tùy chọn này được đặt thành true, thay vào đó, lịch để chọn phạm vi ngày tùy chỉnh luôn được hiển thị
  • endDate5. ('left'/'right'/'center') Bộ chọn xuất hiện được căn chỉnh sang trái, sang phải hay căn giữa dưới phần tử HTML mà bộ chọn được đính kèm
  • endDate6. ('down'/'up'/'auto') Bộ chọn xuất hiện bên dưới (mặc định) hay bên trên phần tử HTML mà bộ chọn được đính kèm
  • endDate7. (chuỗi) tên lớp CSS sẽ được thêm vào cả nút áp dụng và nút hủy
  • endDate8. (chuỗi) tên lớp CSS sẽ chỉ được thêm vào nút áp dụng
  • endDate9. (chuỗi) tên lớp CSS sẽ chỉ được thêm vào nút hủy
  • locale. (đối tượng) Cho phép bạn cung cấp các chuỗi đã bản địa hóa cho các nút và nhãn, tùy chỉnh định dạng ngày và thay đổi ngày đầu tuần cho lịch. Đánh dấu vào locale trong trình tạo cấu hình để xem cách tùy chỉnh các tùy chọn này
  • minDate2. (true/false) Chỉ hiển thị một lịch duy nhất để chọn một ngày, thay vì bộ chọn phạm vi có hai lịch. Ngày bắt đầu và ngày kết thúc được cung cấp cho cuộc gọi lại của bạn sẽ là cùng một ngày đã chọn
  • minDate3. (true/false) Ẩn các nút áp dụng và hủy, đồng thời tự động áp dụng phạm vi ngày mới ngay sau khi nhấp vào hai ngày
  • minDate4. (true/false) Khi được bật, hai lịch được hiển thị sẽ luôn hiển thị trong hai tháng liên tiếp (i. e. tháng 1 và tháng 2) và cả hai sẽ được nâng cao khi nhấp vào mũi tên trái hoặc phải phía trên lịch. Khi bị tắt, hai lịch có thể được nâng cao riêng lẻ và hiển thị bất kỳ tháng/năm nào
  • minDate5. (chức năng) Một chức năng được chuyển từng ngày trong hai lịch trước khi chúng được hiển thị và có thể trả về giá trị đúng hoặc sai để cho biết liệu ngày đó có sẵn để chọn hay không
  • minDate6. (hàm) Một hàm được chuyển từng ngày trong hai lịch trước khi chúng được hiển thị và có thể trả về một chuỗi hoặc mảng tên lớp CSS để áp dụng cho ô lịch của ngày đó
  • minDate7. (true/false) Cho biết liệu bộ chọn phạm vi ngày có tự động cập nhật giá trị của phần tử minDate8 mà bộ chọn được đính kèm khi khởi tạo hay không và khi các ngày đã chọn thay đổi
  • minDate9. (chuỗi) bộ chọn jQuery của phần tử gốc mà bộ chọn phạm vi ngày sẽ được thêm vào, nếu không được cung cấp thì đây sẽ là 'body'

Bạn có thể lập trình cập nhật startDateendDate trong bộ chọn bằng phương pháp maxDate2 và maxDate3. Bạn có thể truy cập đối tượng Bộ chọn phạm vi ngày cũng như các chức năng và thuộc tính của nó thông qua thuộc tính dữ liệu của phần tử mà bạn đã gắn nó vào


  • maxDate4. Đặt ngày bắt đầu hiện được chọn của bộ chọn phạm vi ngày thành ngày được cung cấp
  • maxDate5. Đặt ngày kết thúc hiện được chọn của bộ chọn phạm vi ngày thành ngày được cung cấp

Ví dụ sử dụng

Một số sự kiện được kích hoạt trên phần tử mà bạn đính kèm bộ chọn mà bạn có thể lắng nghe

  • maxDate6. Được kích hoạt khi bộ chọn được hiển thị
  • maxDate7. Được kích hoạt khi bộ chọn bị ẩn
  • maxDate8. Được kích hoạt khi (các) lịch được hiển thị
  • maxDate9. Được kích hoạt khi (các) lịch bị ẩn
  • maxSpan0. Được kích hoạt khi nhấp vào nút áp dụng hoặc khi nhấp vào một phạm vi được xác định trước
  • maxSpan1. Được kích hoạt khi nhấp vào nút hủy

Một số ứng dụng cần chức năng "xóa" thay vì chức năng "hủy", chức năng này có thể đạt được bằng cách thay đổi nhãn nút và theo dõi sự kiện hủy

Mặc dù chuyển một lệnh gọi lại đến hàm tạo là cách dễ nhất để lắng nghe các thay đổi trong phạm vi ngày đã chọn, nhưng bạn cũng có thể thực hiện một số thao tác mỗi khi nhấp vào nút áp dụng ngay cả khi lựa chọn không thay đổi

Cấu hình của bạn để sao chép

Giấy phép MIT (MIT)

Bản quyền (c) 2012-2019 Dan Grossman

Theo đây, quyền được cấp miễn phí cho bất kỳ người nào có được bản sao của phần mềm này và các tệp tài liệu liên quan ("Phần mềm"), để xử lý Phần mềm mà không bị hạn chế, bao gồm nhưng không giới hạn các quyền sử dụng, sao chép, sửa đổi, hợp nhất

Thông báo bản quyền ở trên và thông báo cấp phép này sẽ được bao gồm trong tất cả các bản sao hoặc phần quan trọng của Phần mềm

PHẦN MỀM ĐƯỢC CUNG CẤP "NGUYÊN TRẠNG", KHÔNG CÓ BẢO ĐẢM DƯỚI BẤT KỲ HÌNH THỨC NÀO, RÕ RÀNG HAY NGỤ Ý, BAO GỒM NHƯNG KHÔNG GIỚI HẠN CÁC BẢO ĐẢM VỀ KHẢ NĂNG BÁN ĐƯỢC, TÍNH PHÙ HỢP CHO MỘT MỤC ĐÍCH CỤ THỂ VÀ KHÔNG VI PHẠM. TRONG BẤT KỲ TRƯỜNG HỢP NÀO TÁC GIẢ HOẶC NGƯỜI GIỮ BẢN QUYỀN SẼ KHÔNG CHỊU TRÁCH NHIỆM PHÁP LÝ VỀ BẤT KỲ KHIẾU NẠI, THIỆT HẠI HOẶC TRÁCH NHIỆM PHÁP LÝ KHÁC NÀO, DÙ TRONG MỘT HÀNH ĐỘNG HỢP ĐỒNG, NGOẠI TỆ HOẶC CÁCH NÀO KHÁC, PHÁT SINH TỪ, NGOÀI HOẶC LIÊN QUAN ĐẾN PHẦN MỀM HOẶC VIỆC SỬ DỤNG HOẶC CÁC GIAO DỊCH KHÁC TRONG

Làm cách nào để tìm phạm vi ngày trong JavaScript?

Câu trả lời. var currentDate = new Date(); . if (currentDate > minDate && currentDate < maxDate ){ alert('Correct Date') } else{ alert('Out Side range !! ') }

Làm cách nào để so sánh ngày với JavaScript phạm vi ngày?

Trong JavaScript, chúng ta có thể so sánh hai ngày bằng cách chuyển đổi chúng thành giá trị số tương ứng với thời gian của chúng . Đầu tiên, chúng ta có thể chuyển đổi Ngày thành giá trị số bằng cách sử dụng hàm getTime(). Bằng cách chuyển đổi các ngày đã cho thành các giá trị số, chúng ta có thể so sánh chúng trực tiếp.