【问题标题】:Does getTime return a day-month-year value?getTime 是否返回日-月-年值?
【发布时间】:2020-06-12 17:01:39
【问题描述】:

我以为

<input type="date">

将返回日-月-年。我正在尝试根据上述输入计算天数差异。我是不是想多了?

function combinedDate() {
  (getDate(), getMonth(), getFullYear())
};

function totalDaysUpdateTotals() {
  var difference_In_Days = fday.combinedDate() - sday.combinedDate();
  let lsatotal = difference_In_Days.value * tlsa.value;
  dlsa.innerHTML = `Total LSA Days${difference_In_Days}`;
  tlsa.innerHTML = `Total LSA £${lsatotal}`;
}
<div id="lsacalc">
  <label for="sday"> First Day of Entitlement </label>
  <input type="date" id="sday" name="sday">
  <br><hr>
  <label for="fday"> Last Day of Entitlement </label>
  <input type="date" id="fdayf" name="fday">
  <br><hr>
  <label for="rlsa"> LSA Level </label>
  <input type="text" id="rlsa" name="rlsa" Value="1">
   <br>
  <hr>
  <button onclick="totalDaysUpdateTotals;">Submit</button>
  <br>
  <hr>
  <div class="dlsa" id="tlsa"></div>
  <div class="tlsa" id="tlsa"></div>
  </form>

【问题讨论】:

标签: javascript html forms date


【解决方案1】:

你不能像这样组合多种方法。

如果要计算天数的差异,调用getTime()方法得到毫秒数的差异,然后除以一天的毫秒数(86400000)。

您也不要使用.value 来访问变量的值,这只是为了获取输入元素的值。

function totalDaysUpdateTotals() {
  var fday = new Date(document.getElementById("fday").value);
  var sday = new Date(document.getElementById("sday").value);
  var difference_In_Days = Math.floor((fday.getTime() - sday.getTime())/86400000);
  let lsatotal = difference_In_Days * tlsa.value;
  dlsa.innerHTML = `Total LSA Days${difference_In_Days}`;
  tlsa.innerHTML = `Total LSA £${lsatotal}`;
}

【讨论】:

    猜你喜欢
    • 2020-06-18
    • 1970-01-01
    • 2010-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-05
    • 2019-05-13
    相关资源
    最近更新 更多