gr.getValue
и gs.daysAgo
обе возвращают строки, поэтому сравнение, которое вы проводите в if(u_loaner_return_date > today_date)
, просто сравнивает две строки.
Что вы действительно хотите, так это сравнить 2 даты или использовать API, который сравнивает строковые значения как даты. Быстрое изменение заключается в использовании ServiceNow API gs.dateDiff(startDate, endDate, returnNumericSeconds)
:
if (gs.dateDiff(u_loaner_return_date, today_date, true) < 0)
//...u_loaner_return_date is after today_date ...
Если вам нужна более конкретная логика (что, я думаю, вам, вероятно, понадобится, если вы хотите знать, если вы конкретно за 1 день до, а не просто любой днем ранее), возвращаемое значение gs.dateDiff
когда вы добавляете true
в качестве третьего аргумента, это разница в секундах, положительная, если первый аргумент находится перед вторым аргументом, и отрицательная в противном случае.