script include is only calculating Date but not Time

surajwipro
Tera Contributor

Hi All, I have 2 date field & requirement is my 2nd date field should be post 48 hours of 1st date field I have written script include & On change catalog client script But this Script include is only checking days & not hour for me.

 

SI: getDifference: function(){ var startDate = new GlideDateTime(this.getParameter('sysparm_poweroff')); var endDate = new GlideDateTime(this.getParameter('sysparm_decommision')); var diffSeconds = gs.dateDiff(startDate.getDisplayValue(), endDate.getDisplayValue(), true); //var diffSeconds = gs.dateDiff(startDate, endDate, true); //var days = parseInt(diffSeconds)*60*24; //return days; var dur_hours = Math.round(diffSeconds / 3600); return dur_hours; },

 

CI: function onChange(control, oldValue, newValue, isLoading) { if (isLoading ) { return; } var ga = new GlideAjax('DecommissionServer'); ga.addParam('sysparm_name', 'getDifference'); ga.addParam('sysparm_poweroff', g_form.getValue('poweroff_time')); ga.addParam('sysparm_decommision', g_form.getValue('decommision_time')); ga.getXML(updateCampus); function updateCampus(response) { alert('tst3'); var answer = response.responseXML.documentElement.getAttribute("answer"); alert('tst4'); var test = answer; alert(test); if(answer < 49){ alert('tst5'); g_form.clearValue('decommision_time'); // give proper field name here } } } 

 

 

2 REPLIES 2

surajwipro
Tera Contributor

I am getting out put like attachment:

 

26/09/2023 02:54:46 - field 1

27/09/2023 12:54:46 - field 2

Outupt : 24 hour but it should be 34 hours.

Hi ,

 

You should first try converting the dates to numeric value like below and then try to calculate the date difference 

nDate1 = date1.getNumericValue();
and then set back the value 
var gdt = new GlideDateTime();
gdt.setNumericValue(date1);
nDate2 = date2.getNumericValue();