GlideDateTime

Brian Lancaster
Tera Sage

I have a task where I put the date in the subject line.   This request gets created every night a 9:30 pm EDT but for some reason the date that gets put into is not the date the request and tasks were created but the next days date.   Why is it note pulling the correct date?   Our system default time zone is US/Eastern

var gdt = new GlideDateTime();

var date = gdt.getDate();

1 ACCEPTED SOLUTION

I found a different work around.   Instead of using .getDate() in my code I changed it to getLocalDate().   This gets the date based on the submitters timezone.   I used my servicenow local admin account as the submitter and made sure the timezone was Eastern.


View solution in original post

12 REPLIES 12

do a split and you can separate out the date and time..



variablename.split(' ');


Mike Allen
Mega Sage

I think it is giving you UTC.



var time = new GlideDateTime();


gs.print(time);


var tz = Packages.java.util.TimeZone.getTimeZone("America/New_York");


time.setTZ(tz);


gs.print(time.getDisplayValue());



This will set it to the correct time zone.   Now you just have to run your date function on that and you should be ok.


Anurag Tripathi
Mega Patron
Mega Patron

Hi Brian,



This is a time zone issue for sure. using this will resolve it


new GlideDateTime().getDisplayValue();


-Anurag

Get display value did not resolve the issue.   It is still showing the day after the created date.


bernyalvarado
Mega Sage

Hi Brian, are you looking something like the following:



((new GlideDateTime().getDisplayValue()).split(' ') [0])



Thanks,


Berny