我有两个输入日期,例如11/04/2010(即时通讯使用jquery datepicker)
我想计算并显示两个日期之间的天数,以及将总天数乘以设定数字即130美元的价值。
我的以下布局是这样的,其中“5天”和“125美元”代表计算的结果:
<ol>
<li><label for="start-date">Start Date:</label>
<input name="start-date" id="start-date" class="date-pick dp-applied"></li>
<li><label for="end-date">End Date:</label><input name="end-date" id="end-date" class="date-pick"></li>
<li><label for="book_days">Days:</label><p>5 days</p></li>
<li><label for="book_price">Total Price:</label><p>$125</p></li>
</ol>
答案 0 :(得分:1)
试试这个
function GetCost()
{
var days=daydiff(parseDate($('#start-date').val()), parseDate($('#end-date').val()));
var cost = days*130;
return cost;
}
function parseDate(str) {
var mdy = str.split('/')
return new Date(mdy[2], mdy[0]-1, mdy[1]);
}
function daydiff(first, second) {
return (second-first)/(1000*60*60*24)
}
请检查结果link
答案 1 :(得分:0)
看看这个小提琴:http://jsfiddle.net/timbuethe/hD25E/
<ol>
<li><label for="start-date">Start Date:</label>
<input name="start-date" id="start-date" class="date-pick dp-applied"></li>
<li><label for="end-date">End Date:</label><input name="end-date" id="end-date" class="date-pick"></li>
<li><label for="book_days">Days:</label><p id="book_days">5 days</p></li>
<li><label for="book_price">Total Price:</label><p id="book_price">$125</p></li>
</ol>
注意:我为“book_days”和“book_price”添加了id属性
$('#start-date, #end-date').change(function(){
if($('#start-date').val() && $('#end-date').val()){
var startDate = parseDate($('#start-date').val())
var endDate = parseDate($('#end-date').val())
var days = calcDaysBetween(startDate, endDate)
var price = calcPrice(days)
$('#book_days').html(days + " days")
$('#book_price').html("$" + price)
}
});
function parseDate(s){
// TODO locale specific parsing here, e.g. http://www.datejs.com/
var parts = s.split('/')
return new Date(parts[2], parts[0]-1, parts[1])
}
function calcDaysBetween(startDate, endDate){
return (endDate-startDate)/(1000*60*60*24)
}
function calcPrice(days){
return days * 5;
}