Based on two fileds i need to calculate the days.

Gillerla Rajesh
Tera Contributor

Hi there,

 

i have two fields start date time and end date time, the users will fill the form in portal they will select start date and end date, now form is saved on work order table (wm_task) , i need to calculate days based on days i need to create work order task, how can i achive this.

 

GillerlaRajesh_1-1718886453813.png

how can i achive to calcuate duration between fields, i needs days .

 

any one help me source code on this requirement.

 

2 REPLIES 2

Gillerla Rajesh
Tera Contributor

i done my code it's shoiwing days with decimal number, i don't need decimal number , how can i restrict

GillerlaRajesh_0-1718966466480.png

in syslog i am getting correct only but when i am setting the value it will taking decimal number 

GillerlaRajesh_1-1718966798249.png

 

Please find the source code for reference let me know i need to change anything in the script.

 

script include:

---------------------

dayCalculation: function() {

        var startDate = new GlideDateTime(this.getParameter('sysparm_sdate'));
        var endDate = new GlideDateTime(this.getParameter('sysparm_edate'));

        gs.log("start date is" + startDate);
        gs.log("end date is" + endDate);


        var diffSeconds = gs.dateDiff(startDate.getDisplayValue(), endDate.getDisplayValue(), true);
        gs.log("different seconds "+diffSeconds);
        var day = diffSeconds / (60 * 60 * 24);
        var days=parseInt(day);
        //var days=Math.round(day);
        //var days=Number(day);


        gs.log("days is"+days);
        return days;
}
-----------
client side:
 
var sDate = g_form.getValue('u_start_time');
    var eDate = g_form.getValue('u_end_time');

    var gr = new GlideAjax('DayCalculation');
    gr.addParam('sysparm_name', 'dayCalculation');
    gr.addParam('sysparm_sdate', sDate);
    gr.addParam('sysparm_edate', eDate);

    gr.getXML(response);

    function response(res) {
        var result = res.responseXML.documentElement.getAttribute('answer');
        alert(result);
        g_form.setValue('u_days', result);
    }
 
 
any one suggest me how can i achive with integer number.