
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-06-2017 12:10 AM
Hello Folks,
I am trying to set a timezone in a script but it is not working fine. I am checking below code in the background scripts. No idea, what I am missing:
var gr=new GlideRecord("sn_customerservice_case_staging");
gr.addQuery('u_case','f4235c63db87b6003f7d388ffe961965');
gr.query();
while(gr.next()){
var str= gr.u_time_stamp;
gs.print(str);
var dateArr = str.split(' ');
var date = dateArr[0];
var time= dateArr[1];
var datetime= date+' '+time;
gs.print(datetime); //this is giving me date time in correct format and is in GMT and I am trying to convert this time to a different timezone.
var tz = gs.getSession().getTimeZone(); //this is giving correct timezone in which I want to convert my time
gs.print(tz); //output of session timezone is correct
var abc= datetime.setTZ(tz);
gs.print(abc); //output is undefined.
}
Solved! Go to Solution.
- Labels:
-
Scripting and Coding
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-06-2017 12:36 AM
Hi Chandresh,
Please try by making the following changes :
var gr=new GlideRecord("sn_customerservice_case_staging");
gr.addQuery('u_case','f4235c63db87b6003f7d388ffe961965');
gr.query();
while(gr.next()){
var str= gr.u_time_stamp;
gs.print(str);
var dateArr = str.split(' ');
var date = dateArr[0];
var time= dateArr[1];
var datetime= date+' '+time;
gs.print(datetime); //this is giving me date time in correct format and is in GMT and I am trying to convert this time to a different timezone.
var tz = gs.getSession().getTimeZone(); //this is giving correct timezone in which I want to convert my time
gs.print(tz); //output of session timezone is correct
var gDT = new GlideDateTime(datetime);
gDT.setTZ(tz);
var abc = gDT.getDisplayValue();
gs.print(abc); //output is undefined.
}

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-06-2017 12:34 AM
Hi Chandresh,
I am not sure what is the purpose of these codes, when you are doing the same thing is datetime vaiable
var dateArr = str.split(' ');
var date = dateArr[0];
var time= dateArr[1];
var datetime= date+' '+time;
Can you just try this and check if it helps.
var gr=new GlideRecord("sn_customerservice_case_staging");
gr.addQuery('u_case','f4235c63db87b6003f7d388ffe961965');
gr.query();
while(gr.next()){
var str= gr.u_time_stamp;
//var gdt = new GlideDateTime(str);
var tz = gs.getSession().getTimeZone();
gs.print(str.setTZ(tz));
}
setTZ(tz) : http://wiki.servicenow.com/index.php?title=GlideDateTime#setTZ.28tz.29
Sets the time zone of the GlideDateTime object to be the specified time zone.
Also, just to trouble the issue please check if it works.
var tz = gs.getSession().getTimeZone();
var gdt = new GlideDateTime();
gdt.setTZ(tz)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-06-2017 12:36 AM
Hi Chandresh,
Please try by making the following changes :
var gr=new GlideRecord("sn_customerservice_case_staging");
gr.addQuery('u_case','f4235c63db87b6003f7d388ffe961965');
gr.query();
while(gr.next()){
var str= gr.u_time_stamp;
gs.print(str);
var dateArr = str.split(' ');
var date = dateArr[0];
var time= dateArr[1];
var datetime= date+' '+time;
gs.print(datetime); //this is giving me date time in correct format and is in GMT and I am trying to convert this time to a different timezone.
var tz = gs.getSession().getTimeZone(); //this is giving correct timezone in which I want to convert my time
gs.print(tz); //output of session timezone is correct
var gDT = new GlideDateTime(datetime);
gDT.setTZ(tz);
var abc = gDT.getDisplayValue();
gs.print(abc); //output is undefined.
}

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-06-2017 12:41 AM
Thank you guys, this worked.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-06-2017 04:10 AM
Hi Zeeshan,
One more query, when i am using this converted date field in web services it is showing data in GMT only. Is there any way we can change the value as well.
Right now, I believe this script is changing the display value.