Check if date falls under schedule for specific timezone
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-01-2025 05:24 AM
Hi Community,
I need help with the code to check if date falls under schedule for specific timezone.
I am using isInSchedule() method, for some reason its not giving correct output, I have used this several times in past not sure why its giving me hard time now, may be i am missing some small point.
Tried various approaches:-
1.Basic approach to use getDisplayValue to get user's session timezone.
2. Another approach is to convert time zone and then give in isInSchedule method, for this i tried setTZ() and setTimeZone() both method, both are converting properly and getting output as per timezone only however schedule function is still not returning correct output.
Please let me know what i am missing here.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-01-2025 09:59 PM
Hi Amit,
Thanks for your response, however there are no excluded child schedules or conflicting entries, i am using simple Mon-friday weekday schedule.
Regards,
Muskan Dixit
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-01-2025 11:18 PM
I tried it using the Schedule 8-5 weekdays and I am able to get the correct output. Refer below screenshot -
Could you please confirm which schedule you are referring to ? Also, is it OOB or a newly created one ? If newly created, could you please share the schedule configuration via screenshots.
Amit Verma
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-03-2025 07:38 AM
Hi Amit,
For my requirement i need to validate start date with two different schedules which are in different timezones ( US & IST).
Also just to understand, in your screenshot it displays time around 11 pm and you said schedule is of 8-5pm, in that case it should return false right or your schedule time is different?
Regards,
Muskan Dixit
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 weeks ago - last edited 2 weeks ago
The script below is provided for anyone that wants to test and validate this theory on their own.
/**IF THE USER TIME ZONE = SCHEDULE TIME ZONE, BOTH GS.PRINT() MESSAGES WILL SAY TRUE
* IF THE USERS TIME ZONE != SCHEDULE TIME ZONE:
* - FIRST GS.PRINT() = FALSE;
* - SECOND GS.PRINT() = TRUE;
*/
var schedId = ''; //schedule sys_id
var stringTime = ''; //use any date within schedule, ensuring the time matches the end of schedule in UTC; this is only used to demonstrate the issue
var gdt = new GlideDateTime(stringTime);
var checkSchedule = new GlideSchedule(schedId);
gs.print(checkSchedule.isInSchedule(gdt)); //only shows true if users time zone matches schedules time zone
gdt.subtract(1000); //subtract one second
gs.print(checkSchedule.isInSchedule(gdt)); //should show true, assuming end time is 1 second before schedules defined end time for that date
