Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Help needed with gs.dateDiff() to calculate difference between dates

sushant007
Kilo Guru

Hi,

I want to get difference between two fields using gs.dateDiff(field,field,false);

Here is my BR which will be executed after insert/update on table:

 

myFunction();

function myFunction() {

var endtime = "";

var now1 = "";

var extra_time="";

if (current.u_mon != "")

{

endtime = current.u_mon;

now1 = current.u_mon.getGlideObject();

extra_time=now1.getTime();                                             //   returning value 1970-01-01 22:11:00

  }

if(now1.getTime() >'1970-01-01 21:00:00')

  {

  var stdEndTime=new GlideDateTime('1970-01-01 21:00:00');

  gs.addInfoMessage("Start time for extra is"+stdEndTime); //here getting correct start time which is 1970-01-01 21:00:00

  gs.addInfoMessage("end time for extra is"+now1.getTime()); // here getting correct end time which is 1970-01-01 22:11:00

gs.addInfoMessage("extra time is"+gs.dateDiff(stdEndTime,now1.getTime(),false)); // here i am gettting 00:00:00 but should be 01:11:00

  }

  }

Date format or date and time displayed on my form is mm-dd-yy HH:MM AM/PM, for e.g 06-02-14 6:11 PM.

I am not getting where it's going wrong, appreciate your assistance

6 REPLIES 6

Please refer to this Link:-


GlideElement - ServiceNow Enterprise Wiki



I think this will solve your purpose.



Thanks,


Subhajit


Jeet
Tera Expert

Hi,



:Your code:


// gs.addInfoMessage("extra time is"+gs.dateDiff(stdEndTime,now1.getTime(),false))



:Use This Code:   // make it true then its going to return valid no of seconds and gs.dateDiff( earliearDate.getDisplayValue(), laterDate.gateDisplayValue(), true)


var gDate = new GlideDateTime(stdEndTime);




var gdt1 = new GlideDateTime( date_one);


var gdt2 = new GlideDateTime(date_two);



var durationInSeconds = gs.dateDiff(gDate.getDisplayValue(), secondDate.getDisplayValue(), true);



Note: The gs.dateDiff() method is not available in scoped applications.



Thanks,


Jeet