我正在开发一个小型网络应用程序来计算天数。
我发现的是:
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/
最佳答案
你已经非常接近了。试试这个:
var firstDate = new Date(document.getElementById('dateRent').value);
var secondDate = new Date(document.getElementById('dateEnd').value);
还要修复您的 fiddle ,向计算按钮添加 id 属性,并在事件监听器中调用 cost()
函数,如下所示:
HTML
<a href="#" id="calculate">Calculate!</a>
JS
document.getElementById('calculate').addEventListener('click', cost);
关于javascript - 将日期文本(字符串)更改为日期格式 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43125461/