Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.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 - Fatal编程技术网

Javascript 用户输入的两个日期之间的差异

Javascript 用户输入的两个日期之间的差异,javascript,Javascript,这是我的表格: <form> <input type="text" placeholder="Check in date" id="checkin" /> <input type="text" placeholder="Check out date" id="checkout" /> <input type="submit" onclick="result()" id="submit" /> </form>

这是我的表格:

<form>
    <input type="text" placeholder="Check in date" id="checkin" />
    <input type="text" placeholder="Check out date" id="checkout" />
    <input type="submit" onclick="result()" id="submit" />
</form>

这是我计算money=days*price的javascript

<script language="javascript" type="text/javascript">

    function result()
    {   
          var a = document.getElementById("checkin").value;
          var b = document.getElementById("checkout").value;

          var checkin = moment(a).format('DD-MM-YYYY');
          var checkout = moment(b).format('DD-MM-YYYY');        

          var days= checkout.diff(checkin, 'days');

          var price=100;
          alert("The money you have to pay is: "+days*price);


    }
</script>

函数结果()
{   
var a=document.getElementById(“签入”).value;
var b=document.getElementById(“签出”).value;
var checkin=时刻(a).格式('DD-MM-YYYY');
var checkout=力矩(b).格式('DD-MM-YYYY');
var days=checkout.diff(签入“days”);
var价格=100;
提醒(“您必须支付的金额为:“+天*价格”);
}
这是我的测试用例: 登记日期=2014年5月12日, 结帐日期=2014年12月25日 当我单击submit时,什么也没有发生。 有人能解释一下为什么我能解决这个问题吗。谢谢大家!

函数结果(e)//e表示事件。
{   
e、 预防默认值();
var a=document.getElementById(“签入”).value;
var b=document.getElementById(“签出”).value;
var checkin=时刻(a,'DD-MM-YYYY');
var校验=力矩(b,'DD-MM-YYYY');
var days=checkout.diff(签入“days”);
var价格=100;
提醒(“您必须支付的金额为:“+天*价格”);
}

使用此选项将日期转换为时刻日期

  var checkin = moment(a, 'DD-MM-YYYY')
  var checkout = moment(b, 'DD-MM-YYYY')        

查看

什么不起作用,请提供一个代码片段或一个可用的提琴。打开crome控制台查看错误。谢谢您,先生,但您的答案不起作用,我使用的是矩.js,我认为问题是:用户输入的格式对diff函数无效。@lightnguyen更新的答案有效。当我输入
15-02-2015
18-02-2015
时,价格是
300
,这是三天,这是正确的。你原来的答案不起作用。这实际上是错误的时刻日期创建,您在从下面的答案复制后更正了…@kushdilip,不完全正确,第一个也是主要的问题是提交表单。第二,
diff
函数没有发挥我已经发现的作用。我正在查看
moment.js
,并用完整正确的code.cool更新我的问题。看看这个。它只通过momentjs更改工作。它仍然提交数据,在表单上没有任何操作。我认为没有必要。