Ajay Krishna Dutta
Ajay Krishna Dutta

Reputation: 770

Calculate End Date using Start date

I have three input fields as follows :

Warranty Start Date : <input id="WarrantyStartDate"  value="2015-11-22" />
Warranty period : <input id="WarrantyStartDate" value="24"/> //24 months//
Warranty End Date : <input id="WarrantyEndDate" />

Now my question is How to calculate the End Date automatically by using the warranty period value.. In Simple I want the Date after 24 months of this date "2015-11-22"

I have created a js-fiddle :

http://jsfiddle.net/3DzTu/14/

SOLVED:

function getEndDate(){

var warranty_period = $('#WarrentyPeriod').val();
var warranty_value = parseInt(warranty_period); 

var WarrentyStartDate = $('#WarrentyStartDate').val();
var WarrentyStartDate = WarrentyStartDate.split('-');
var WarrentyStartDate = WarrentyStartDate[0]+'/'+WarrentyStartDate[1]+'/'+WarrentyStartDate[2];
var dateString = WarrentyStartDate; // date string
var actualDate = new Date(dateString); // convert to actual date
var newDate = new Date(actualDate.getFullYear(), actualDate.getMonth()+warranty_value, actualDate.getDate());
var myDate = new Date(newDate);
var myDate = myDate.toLocaleString();
var myDate = myDate.split(',');
var myDate = myDate[0];
var myDate = myDate.split('/');
var year = myDate[2];
var month = '';
var date = '';

if(myDate[0].length < 2){

    month = '0'+myDate[0];
}else{
    month = myDate[0];

}


if(myDate[1].length < 2){

    date = '0'+myDate[1];
}else{
    date = myDate[1];

}

var WarrentyEndDate = year+'-'+month+'-'+date;


 $( "#WarrentyEndDate" ).val(WarrentyEndDate);


}

Upvotes: 2

Views: 1167

Answers (3)

Kev
Kev

Reputation: 587

try

var startTime = new Date($("#WarrantyStartDate").datepicker().val()).getTime();
var period = new Date(0).setMonth(24);
var end = new Date(startTime + period);
$("#WarrantyEndDate").datepicker().val(end.getMonth() + "/" + end.getDate() + "/" + end.getFullYear());

Upvotes: 0

dee.ronin
dee.ronin

Reputation: 1038

Assuming that your "Warranty period" has an id of "WarrantyPeriod", you can try the code below:

var date = new Date($('#WarrantyStartDate').val());

date.setMonth(date.getMonth() + parseInt($('#WarrantyPeriod').val()));

$("#WarrantyEndDate").val(date.toISOString().slice(0,10));

Upvotes: 2

Sunil
Sunil

Reputation: 929

var d1 = new Date("2015-11-22"); // start date  
var warranty_value = 24; // warranty value
d1.setMonth(d1.getMonth() + warranty_value); // this will give you end date by adding warranty value to start date

Upvotes: 3

Related Questions