将日期文本(字符串)更改为日期格式Javascript

时间:2017-03-30 18:15:15

标签: javascript jquery date

我正在开发一个小型webapp来计算天数。

我发现的是:

function cost() {

var oneDay = 24*60*60*1000; //hours*minutes*seconds*milliseconds
var firstDate = new Date(2008,01,12); //Would like to input it myself
var secondDate = new Date(2008,01,22); //Would like to input it myself

var diffDays = Math.abs((firstDate.getTime() - secondDate.getTime())/(oneDay));

var priceInDays = diffDays * 250;

alert(priceInDays);

}

我想要的是动态设置日期。我使用Chrome日期选择器将返回日期:2017-03-30。我尝试过这样的事情:

var firstDate =  document.getElementById('dateRent').value;
var secondDate = document.getElementById('dateEnd').value; 

但这没有成功。所以现在,日期设置为硬编码方式。它会在警报框中给我10 * 250 = 2500。

我创建了一个jsfiddle(一个问题,它没有处理我的功能,找不到问题。https://jsfiddle.net/w93c571x/3/

1 个答案:

答案 0 :(得分:1)

非常关闭。试试这个:

var firstDate =  new Date(document.getElementById('dateRent').value);
var secondDate = new Date(document.getElementById('dateEnd').value);

另外要修复你的小提琴,在计算按钮中添加一个id属性,并在事件监听器中调用cost()函数,如下所示:

<强> HTML

<a href="#" id="calculate">Calculate!</a>

<强> JS

document.getElementById('calculate').addEventListener('click', cost);

Here's a working fiddle.