【问题标题】:I want to calculate warranty expiry date in javascript我想在 javascript 中计算保修到期日期
【发布时间】:2019-04-02 00:01:22
【问题描述】:

我已经创建了响应式网页来提交数据,其中包含一些计算日期,以给出两个日期(EX: Start Date:29/OCT/2018 End Date: 07/NOV/2018) 之间的天数,现在它在提交时给出了天数(No. of days = 9),但我希望减少天数日期也增加。请帮忙提供一些关于这个的想法

   <!DOCTYPE html>
<html>
 <head>
    <script type="text/javascript">
        function GetDays(){
                var dropdt = new Date(document.getElementById("end_date").value);
                var pickdt = new Date(document.getElementById("added_date").value);
                return parseInt((dropdt - pickdt) / (24 * 3600 * 1000));
        }

        function cal(){
        if(document.getElementById("end_date")){
            document.getElementById("calc").value=GetDays();
        }  
    }



    </script>
</head>
<body>

          <div class="form-row">

          <div class="form-group col-md-6">
                    <label>Invoice Date</label>
            <input type="text" class="form-control" id="added_date" name="added_date" value="<?php echo date("Y-m-d"); ?>" readonly/>
                    </div>

          </div>
          <div class="form-row">
            <div class="form-group col-md-6">
              <label>End Date</label>
    <input type="date" class="form-control" id="end_date" name="end_date" onchange="cal()" />
            </div>
            <div class="form-group col-md-6">
              <label>Warranty</label>
  <input type="text" class="form-control" id="calc" name="calc"value="" readonly/>
            </div>
          </div>






</body>

【问题讨论】:

  • 你需要使用当前日期和时间,然后它会减少
  • 我只给出了当前日期,但在提交后给了我结果,它只显示保存在数据库中的记录
  • 您的pickdt 将是当前日期。您将在 db-query 中使用的日期会有所不同。检查您的查询一次。

标签: javascript php jquery ajax xampp


【解决方案1】:

由于剩余保修期是根据当前命运计算的,因此您需要通过当前日期,

var cuurent = new Date().getTime();

     return parseInt((dropdt - cuurent) / (24 * 3600 * 1000));

【讨论】:

  • 请根据我的代码进行更改,因为我是初学者,我无法理解
  • 请看我的代码我已经给出了带有html内容的整个代码
【解决方案2】:

请试试这个并理解这个概念:

  var todaydate = new Date();
   var day = todaydate.getDate();
   var month = todaydate.getMonth() + 1;
   var year = todaydate.getFullYear();
   var datestring =month  + "/" +  day+ "/" + year;
   
   document.getElementById("added_date").value = datestring;
  
  function GetDays(){
  
  
   
                var dropdt = new Date(document.getElementById("end_date").value);
                var pickdt = new Date(document.getElementById("added_date").value);
                
                
                
                 var dateDifference = Math.floor((Date.UTC(dropdt.getFullYear(), dropdt.getMonth(), dropdt.getDate()) - Date.UTC(pickdt.getFullYear(), pickdt.getMonth(), pickdt.getDate())) / (1000 * 60 * 60 * 24));

                return dateDifference;
        }

        function cal(){
        if(document.getElementById("end_date")){
            document.getElementById("calc").value=GetDays();
        }  
        
        }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form-row">

          <div class="form-group col-md-6">
                    <label>Invoice Date</label>
            <input type="text" class="form-control" id="added_date" name="added_date" readonly/>
                    </div>

          </div>
          <div class="form-row">
            <div class="form-group col-md-6">
              <label>End Date</label>
    <input type="date" class="form-control" id="end_date" name="end_date" onchange="cal()" />
            </div>
            <div class="form-group col-md-6">
              <label>Warranty</label>
  <input type="text" class="form-control" id="calc" name="calc"value="" readonly/>
            </div>
          </div>

要在表格中显示,您需要在查询中使用 date_diff(added_date,end_date)。

【讨论】:

    猜你喜欢
    • 2011-06-16
    • 2015-01-13
    • 2015-03-01
    相关资源
    最近更新 更多