ServiceNow内部的日期比较

问题描述 投票:1回答:3

比较两个日期时,如何获得DAYS中两个日期对象之间的差异? (例如-2017-07-31和2017-07-28->这应该返回3天)。

UNIX时间戳将不起作用,因为它对于我的情况不准确-无法知道我应该向上还是向下舍入到最近的24小时(1天)。

getDay()函数在ServiceNow中的作用域应用程序内部不起作用。

javascript date servicenow
3个回答
1
投票

Service Now中可用于计算持续时间的最常用API是gs.DateDiff(date1,date2),但在范围限定的应用程序中不起作用。

SN提供了自己的API,可以使用GlideDateTime API在有作用域的应用中获取持续时间。>

如果您的字段是日期/时间

var date1 = new GlideDateTime("2011-08-28 09:00:00");
var date2 = new GlideDateTime("2011-08-31 08:00:00");
var diff = GlideDateTime.subtract(date1, date2);
gs.info(diff.getDisplayValue());

如果需要在记录中的任何字段上引用它,则将日期指定为

var date1 = new GlideDateTime(current.sys_created_on);
var date2 = new GlideDateTime(current.sys_updated_on);

获得以秒为单位的数值差

gs.info(diff.getNumericValue());

仅减去日期字段的持续时间

diff = GlideDate.subtract(date1, date2);
gs.info(diff.getDisplayValue());

0
投票

以YYYY-MM-DD格式给出日期,您可以使用Date构造函数,从另一个中减去一个,然后除以一天中的毫秒数。


0
投票

如果要在范围内的应用程序

© www.soinside.com 2019 - 2024. All rights reserved.