欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用JavaScript實現(xiàn)一個日期范圍選擇器

 更新時間:2024年01月22日 09:08:14   作者:刻刻帝的海角  
日期范圍選擇器是一個常見的Web應(yīng)用功能,它允許用戶選擇一個日期范圍,本文我們將使用JavaScript來實現(xiàn)這個功能,感興趣的小伙伴可以了解下

日期范圍選擇器是一個常見的Web應(yīng)用功能,它允許用戶選擇一個日期范圍。在本篇文章中,我們將使用JavaScript來實現(xiàn)這個功能。

一、實現(xiàn)思路

創(chuàng)建一個開始日期輸入框和一個結(jié)束日期輸入框。

添加事件監(jiān)聽器,監(jiān)聽開始日期輸入框和結(jié)束日期輸入框的輸入事件。

當(dāng)用戶在輸入框中輸入日期時,驗證輸入的日期是否合法,如果合法,則更新日期范圍。

提供清除日期范圍的功能

二、代碼實現(xiàn) 

<!DOCTYPE html>  
<html>  
<head>  
    <title>日期范圍選擇器</title>  
</head>  
<body>  
    <!-- 開始日期輸入框 -->  
    <label for="start-date">開始日期:</label>  
    <input type="date" id="start-date" oninput="validateDateRange()"> <!-- 當(dāng)輸入框內(nèi)容變化時,調(diào)用validateDateRange函數(shù) -->  
    <br>  
    <!-- 結(jié)束日期輸入框 -->  
    <label for="end-date">結(jié)束日期:</label>  
    <input type="date" id="end-date" oninput="validateDateRange()"> <!-- 當(dāng)輸入框內(nèi)容變化時,調(diào)用validateDateRange函數(shù) -->  
    <br>  
    <!-- 清除日期范圍按鈕 -->  
    <button onclick="clearDateRange()">清除日期范圍</button> <!-- 當(dāng)按鈕被點擊時,調(diào)用clearDateRange函數(shù) -->  
    <p id="date-range"></p> <!-- 用于顯示日期范圍的段落 -->  
  
    <script>  
        // 驗證日期范圍的函數(shù)  
        function validateDateRange() {  
            // 獲取開始日期和結(jié)束日期的值,并嘗試將它們轉(zhuǎn)換為Date對象  
            var startDate = new Date(document.getElementById("start-date").value);  
            var endDate = new Date(document.getElementById("end-date").value);  
            // 檢查開始日期和結(jié)束日期是否有效(不是NaN)  
            var isStartDateValid = !isNaN(startDate.getTime());  
            var isEndDateValid = !isNaN(endDate.getTime());  
            // 如果開始日期和結(jié)束日期都有效,則進(jìn)行下一步驗證  
            if (isStartDateValid && isEndDateValid) {  
                // 檢查結(jié)束日期是否早于開始日期,如果是,則彈出警告并清空結(jié)束日期輸入框  
                if (endDate < startDate) {  
                    alert("結(jié)束日期不能早于開始日期");  
                    document.getElementById("end-date").value = "";  
                } else { // 如果結(jié)束日期不早于開始日期,則顯示日期范圍  
                    document.getElementById("date-range").innerText = "日期范圍: " + startDate.toISOString().slice(0, 10) + " - " + endDate.toISOString().slice(0, 10);  
                }  
            } else { // 如果開始日期或結(jié)束日期無效,則清空顯示區(qū)域  
                document.getElementById("date-range").innerText = "";  
            }  
        }  
  
        // 清除日期范圍的函數(shù)  
        function clearDateRange() {  
            // 清空開始日期和結(jié)束日期輸入框的值  
            document.getElementById("start-date").value = "";  
            document.getElementById("end-date").value = "";  
            // 清空顯示區(qū)域的內(nèi)容  
            document.getElementById("date-range").innerText = "";  
        }  
    </script>  
</body>  
</html>

為了將當(dāng)前日期轉(zhuǎn)換為農(nóng)歷日期,我們需要使用一個外部庫,例如 "lunar-js"。以下是如何使用這個庫來實現(xiàn)這個功能:

首先,安裝 "lunar-js" 庫:

npm install lunar-js

然后,在HTML中引入這個庫:

<script src="node_modules/lunar-js/dist/lunar.min.js"></script>

接下來,添加一個新的函數(shù)來將當(dāng)前日期轉(zhuǎn)換為農(nóng)歷日期

<script>  
    // 引入lunar庫  
    const Lunar = window.Lunar;  
    // 創(chuàng)建Lunar實例  
    const lunar = new Lunar();  
  
    // 轉(zhuǎn)換當(dāng)前日期為農(nóng)歷日期的函數(shù)  
    function getLunarDate() {  
        const currentDate = new Date(); // 獲取當(dāng)前日期  
        const lunarDate = lunar.convertSolarToLunar(currentDate); // 將當(dāng)前日期轉(zhuǎn)換為農(nóng)歷日期  
        return lunarDate; // 返回農(nóng)歷日期  
    }  
</script>

現(xiàn)在,你可以在HTML中調(diào)用這個函數(shù)并顯示農(nóng)歷日期:

<p id="lunar-date"></p> <!-- 用于顯示農(nóng)歷日期的段落 -->  
<script>  
    document.getElementById("lunar-date").innerText = getLunarDate().getLongYear() + "年" + getLunarDate().getMonth() + "月" + getLunarDate().getDay() + "日"; // 顯示農(nóng)歷日期和月份  
</script>

到此這篇關(guān)于利用JavaScript實現(xiàn)一個日期范圍選擇器的文章就介紹到這了,更多相關(guān)JavaScript日期選擇器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論