Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript-从日期中减去时间_Javascript_Html - Fatal编程技术网

JavaScript-从日期中减去时间

JavaScript-从日期中减去时间,javascript,html,Javascript,Html,玩家A受到攻击,攻击将在21:00降落 现在的钟是15点 玩家B的部队速度需要01:00:00才能步行到那里防守玩家A 我需要准确计算最晚发送时间。这是这样计算的: 部队的行走速度(01:00:00)-21:00=可在20:00发送以及时到达 这就是我目前的情况: function SumHours() { var smon = document.getElementById('sMon').value ; var fmon = document.getElementById('fMon

玩家A受到攻击,攻击将在21:00降落 现在的钟是15点 玩家B的部队速度需要01:00:00才能步行到那里防守玩家A

我需要准确计算最晚发送时间。这是这样计算的:

部队的行走速度(01:00:00)-21:00=可在20:00发送以及时到达

这就是我目前的情况:

function SumHours() {
  var smon = document.getElementById('sMon').value ;
  var fmon = document.getElementById('fMon').value ;
  var diff = 0 ;
  if (smon && fmon) {
    smon = ConvertToSeconds(smon);
    fmon = ConvertToSeconds(fmon);
    diff = Math.abs( fmon - smon ) ;
    window.alert( 'Send troops at : ' + secondsTohhmmss(diff) );
  }

  function ConvertToSeconds(time) {
    var splitTime = time.split(":");
    return splitTime[0] * 3600 + splitTime[1] * 60;
  }

  function secondsTohhmmss(secs) {
    var hours = parseInt(secs / 3600);
    var seconds = parseInt(secs % 3600);
    var minutes = parseInt(seconds / 60) ;
    return hours + ":" + minutes + "";
  }
}

<div class="content_textarea">
    <h3>Send timer</h3>
    <script type="text/javascript" src="./js/timecalc.js"></script>
      <p>Troops walking speed:</p>
      <input type="time" class="dataInput" id="sMon" onchange="SumHours();" />
      <p>Attack landing time:</p>
      <input type="time" class="dataInputt" id="fMon" onchange="SumHours();"/>
    <p class="content_textarea_date"><i class="fas fa-calendar-alt"></i>2020-12-25 18:48</p>
</div>
函数SumHours(){
var smon=document.getElementById('smon').value;
var fmon=document.getElementById('fmon')。值;
var-diff=0;
if(smon和fmon){
smon=转换秒(smon);
fmon=转换秒(fmon);
diff=Math.abs(fmon-smon);
窗口警报(‘在以下地点派兵’+secondsTohhmmss(diff));
}
函数ConvertToSeconds(时间){
var splitTime=time.split(“:”);
返回拆分时间[0]*3600+拆分时间[1]*60;
}
功能秒至hhmms(秒){
var小时=parseInt(秒/3600);
var seconds=parseInt(秒%3600);
var分钟=parseInt(秒/60);
返回时间+“:“+分钟+”;
}
}
发送计时器
部队步行速度:

攻击着陆时间:

2020-12-25 18:48

只要没有新的一天重叠,这就可以完美地工作

我需要一些日期包括在内,但我不知道如何编写代码


使用内置的JavaScript
Date
对象,这将更加容易。你能使用它吗?使用内置的JavaScript
Date
对象会容易得多。你能用这个吗?