首页 > 解决方案 > 如何计算日期选择器值和我们设置的年月日?

问题描述

我正在尝试创建一个兵役计算器网站。

我发帖是因为我在实现 JavaScript 的逻辑上有困难。

当您按下第一个按钮 (class="armyBtn") 和第二个按钮 (id="datepicker") 时,您使用 datepicker 计算年、月和日值,并在第一行显示军事出院值桌子。

另外,第一个按钮每个县的服务期值不一样,所以结果值肯定不一样。

每个兵役期间都在 JavaScript 文件中进行了注释。

每个县共有七个按钮。并且每个军队都有不同的服役期。

<script>
        $(document).ready(function () {
            $("#datepicker").datepicker({
                dateFormat: 'yy-mm-dd',
                showOn: "button",
                buttonText: "입대일&quot;,
                onSelect: function (dateText, inst) {
                    var date = $(this).val();
                    var arr = date.split("-");
                    var year = arr[0];
                    var month = arr[1];
                    var day = arr[2];
                    
                    $(".showDate").empty().text(date);
                }
            });
        })
    </script>

// var 육군 = "18개월 = 1 year 6 month"
// var 해군 = "20개월 = 1 year 8 month"
// var 공군 = "22개월 = 1 year 10 month"
// var 해병대 = "18개월 = 1 year 6 month"
// var 사회복무요원 = "21개월 = 1 year 9 month"
// var 의경해경 = "18개월 = 1 year 6 month"
// var 소방원 = "20개월 = 1 year 8 month"

标签: javascriptjquery

解决方案


你可以试试这段代码

-HTML-
<div>
  <input id="datepicker" class="datepicker" value="" readonly />
</div>
<div>
  <label id="result" class="result"></label>
</div>

-JS-
$(document).ready(function () 
{        
     $('#datepicker').datepicker
    ({
        dateFormat: 'yy-mm-dd',
        showOn: "button",
        buttonText: "입대일&quot;,
        inline: true,
             onSelect: function() {
                var valueSelected = document.getElementById("datepicker").value;
                var dateSelected = new Date(valueSelected);
                var today = new Date();
                var age = today.getTime() - dateSelected.getTime();
                var elapsed = new Date(age);
                var year = elapsed.getYear()-70;
                var month = elapsed.getMonth();
                var day = elapsed.getDay();
                var ageTotal = (year < 1 ? "" : year + " Years,") + month + " Months," + day + " Days";

        $("#result").empty().text(ageTotal);

            }
     });  

});

演示:https ://jsfiddle.net/4przok20/


推荐阅读