day of the week and time returning different than expected

venkata2023
Tera Contributor

(function calculatedFieldValue(current) {
try {
if (!current.sys_created_on)
return '';

var created = new GlideDateTime(current.sys_created_on); // creation time
var now = new GlideDateTime(); // current time

// Determine the start of the current week (Monday 00:00 EST)
var weekStart = new GlideDateTime(now);
var day = weekStart.getDayOfWeek(); // ServiceNow: Sunday = 1, Monday = 2, ..., Saturday = 7
var offsetDays = day - 2; // days since Monday
weekStart.subtractDays(offsetDays); // move back to Monday
weekStart.setHour(0);
weekStart.setMinute(0);
weekStart.setSecond(0);
weekStart.setMillisecond(0);

// If created before this week → always On Time
if (created.before(weekStart)) {
return 'On Time';
}

// Monday 2:00 PM
var mon2PM = new GlideDateTime(weekStart);
mon2PM.setHour(14); mon2PM.setMinute(0); mon2PM.setSecond(0);

// Tuesday 11:00 AM
var tue11AM = new GlideDateTime(weekStart);
tue11AM.addDays(1); tue11AM.setHour(11); tue11AM.setMinute(0); tue11AM.setSecond(0);

// Wednesday 2:00 PM
var wed2PM = new GlideDateTime(weekStart);
wed2PM.addDays(2); wed2PM.setHour(14); wed2PM.setMinute(0); wed2PM.setSecond(0);

// Thursday 11:00 AM
var thu11AM = new GlideDateTime(weekStart);
thu11AM.addDays(3); thu11AM.setHour(11); thu11AM.setMinute(0); thu11AM.setSecond(0);

// Check if created during either late window
var isLateWindow1 = created.compareTo(mon2PM) >= 0 && created.compareTo(tue11AM) < 0;
var isLateWindow2 = created.compareTo(wed2PM) >= 0 && created.compareTo(thu11AM) < 0;

if (isLateWindow1 || isLateWindow2) {
return 'Late';
}

return 'On Time';
} catch (e) {
gs.error('Error in timely_submission calculation: ' + e.message);
return '';
}
})(current); , I am trying to get day of the week and time as per EST, but its returning different internal value that is UTC, but its should work as per EST, its working differently than this expected way, please guide me where I am going wrong, Instance created field is shows alwasy EST time and date

 

1 REPLY 1

venkata2023
Tera Contributor

I created field timely submission with choices Ontime, Late on change table, its calculated field. If request is created after 2pm monday and bofore 11am tuesday, these requests be updated as Later, once this time period passes, its should turn Ontime, similary for time period after 2pm Wednesday before 11am on thursday, after this time these requests should turn to Ontime