我想在 javascript 中计算保修到期日期

Posted

技术标签:

【中文标题】我想在 javascript 中计算保修到期日期【英文标题】:I want to calculate warranty expiry date in 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 中使用的日期会有所不同。检查您的查询一次。 【参考方案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)。

【讨论】:

以上是关于我想在 javascript 中计算保修到期日期的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Firestore 文档设置到期日期 [重复]

在 SQL Server 2008 中计算到期日期

如何从单元格中提取日期并将其与今天的日期进行比较

计算数据库中到期日期与今天日期匹配的所有记录

如何在到期日更改字体颜色?

如何用javascript 设定日期进行到期提醒