Date field increment by 1 year based on other date field
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-24-2020 11:52 PM
Hi All,
I have a date/time field which has the created date of an item, I want to increment it by one year to specify the eligibility date for the user on portal. I have a script include and the date is populated on the confirm box through catalog client script. Please let me know how to achieve this.
Thanks in Advance

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-25-2020 09:18 AM
Hi,
You can try below.
var gr = new GlideRecord("sc_req_item");
gr.addEncodedQuery('cat_item='+itemId+'^sys_created_on>=javascript:gs.beginningOfLast12Months()^requested_for='+userId);
gr.orderByDesc('sys_created_on');
gr.query();
if(gr.next())
{
var gdt = new GlideDateTime(gr.sys_created_on);
gdt.addDays(365); //replace required number of days
var finaldateis=gdt.getDate();
obj.closedDate = "'" + finaldateis + "'";
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-25-2020 12:49 AM
Hi,
Please try using the below scripts.
Client script:
var createdDate = g_form.getValue('sys_created_on');
var ga = new GlideAjax('getDate');
ga.addParam('sysparm_name','getMethod');
ga.addParam('sysparm_date',createdDate);
ga.getXML(getResponse);
function getResponse(response){
var answer = response.responseXML.documentElement.getAttribute('answer');
g_form.setValue('validity_date',answer);
}
Script Include:
getMethod: function(){
var createdDate = new GlideDateTime(this.getParameter('sysparm_date'));
var validityDate = createdDate.addDays(365);
return validityDate;
}
Please mark as correct if this solves your issue or mark as helpful.
Thanks,
Sailesh J

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-25-2020 02:00 AM
Taking care of leap year.
Client script:
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var ajax = new GlideAjax('datecalculation');
ajax.addParam('sysparm_name', 'addOneYear');
ajax.addParam('sysparm_create_date', newValue);
ajax.getXMLAnswer(function(answer) {
if (answer.length > 0) {
g_form.setValue('eligibility', answer);
}
});
}
Script Include:
var datecalculation = Class.create();
datecalculation.prototype = Object.extendsObject(AbstractAjaxProcessor, {
addOneYear: function() {
var createDate = this.getParameter('sysparm_create_date');
var newDate = new GlideDateTime(createDate);
newDate.addYearsLocalTime(1);
return newDate;
},
type: 'datecalculation'
});