Built something you're proud of? Tell the story. A quick G2 review of App Engine or Build Agent helps other developers see what's possible on ServiceNow. Share your experience.

How to get the time difference between two date/time fields in number of Days

Kaleem A
Giga Guru

Hi All,

I have below script. How to get the time difference between two date/time fields in number of Days. If the difference is   less than a day the value of dur is "HH:MM:SS".   It creates confusion with the parseInt() function. I'm looking for the dur value in "DD HH:MM:SS". Can some one help me with this?

var actualDateTime = new GlideDateTime();

actualDateTime.setDisplayValue(gs.nowDateTime());

var gr = new GlideRecord('change_request');

gr.addQuery('number','CNG0286539');

gr.query();

if(gr.next()){

  aging = "";

              var impendTime = gr.end_date.getDisplayValue();//implementationEndTime

              gs.print(impendTime);

              var dur = gs.dateDiff(impendTime, actualDateTime);

              var d = dur.getDay();

              gs.print(actualDateTime);

              gs.print (dur);

              var d=parseInt(dur);

              gs.print(d);

}

1 ACCEPTED SOLUTION

Kaleem A
Giga Guru

This script helped me



var actualDateTime = new GlideDateTime();


actualDateTime.setDisplayValue(gs.nowDateTime());


var gr = new GlideRecord('change_request');


gr.addQuery('number','CNG0286538');


gr.query();


if(gr.next()){


              var impendTime = gr.end_date.getDisplayValue();//implementationEndTime


                gs.print(actualDateTime);


              dur = gs.dateDiff(impendTime, actualDateTime);


              var dateDifference = new GlideDuration(dur);


              gs.print ("dateDifference : " + dateDifference);


              var d   = dateDifference.getDayPart();


              gs.print("d :" + d);


           


       


             


}


View solution in original post

4 REPLIES 4

Not applicable

Thanks Karthik,



I have referred these threads. These doesn't help much


Kaleem A
Giga Guru

This script helped me



var actualDateTime = new GlideDateTime();


actualDateTime.setDisplayValue(gs.nowDateTime());


var gr = new GlideRecord('change_request');


gr.addQuery('number','CNG0286538');


gr.query();


if(gr.next()){


              var impendTime = gr.end_date.getDisplayValue();//implementationEndTime


                gs.print(actualDateTime);


              dur = gs.dateDiff(impendTime, actualDateTime);


              var dateDifference = new GlideDuration(dur);


              gs.print ("dateDifference : " + dateDifference);


              var d   = dateDifference.getDayPart();


              gs.print("d :" + d);


           


       


             


}


UtsavK
Tera Contributor

   var today = new GlideDateTime();
    var closed = new GlideDateTime(current.closed_at);

    if (closed) {
        var dateDiff = GlideDateTime.subtract(closed, today);
        var dateDiffNum = dateDiff.getDayPart();