Populate last day of month of hire date and time should be 23:00
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-28-2024 02:55 AM
Hi Team,
I am working on HRSD and I have to populate the "due date" for one task which should be the last day of the "hire date" and the time should be 11:00 pm according "subject person" time zone.
subject person - reference field and referring to user table
hire date - date field
due date - date time field
var task = new GlideRecord("sn_hr_core_task");
task.addQuery("sys_id","13a59a561ba0c650b862ed34604bcb7f");
task.query();
if(task.next()){
var timezone = task.parent.subject_person.time_zone;
var hiredate = task.parent.subject_person.u_onboarding_hire_date;
}
var hireDate = new GlideDateTime(hiredate);
hireDate.setTimeZone(timezone);
var hireMonth = hireDate.getMonthLocalTime(); // Get the month of the hire date
var hireYear = hireDate.getYearLocalTime(); // Get the year of the hire date
// Set the due date to the last day of the hire date's month at 23:00
var eom = new GlideDateTime();
eom.setYearLocalTime(hireYear);
eom.setMonthLocalTime(hireMonth + 1); // Move to the next month
eom.setDayOfMonthLocalTime(1); // Set to the first day of the next month
eom.addDaysLocalTime(-1); // Subtract one day to get the last day of the hire month
gs.print(eom);
var lastdate = eom.getDate() + " 23:00:00";
gs.print(lastdate);
I am trying with the above code but I am getting UST time for each time zone user.
I want to set the last day of the month of hire date according subject person's time zone
Can someone guide me on how can I achieve this requierment ?
0 REPLIES 0