如何转换本地时区格式的AD帐户到期

2020-09-21 03:02发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 在我当前的项目IDM...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

在我当前的项目IDM 7.2 SP10中,我们从AD读取accountexpires属性,然后使用uInt8ToDate函数将其转换为可读格式。

https://help.sap.com/saphelp_nwidmic71/en/ using_functions/internal_functions/dse_uint8todate.htm

此功能正在将日期转换为可读的GMT格式,而客户希望在本地时间显示该日期。 在搜索SCN时,我在下面的帖子中看到" True"开关在uInt8ToDate函数中不起作用,甚至我也观察到了这一点。

https://archive.sap.com/discussions/thread/3469115

任何人都可以指导如何转换本地时区的日期。 我尝试使用getTimezoneOffset(),但抛出错误。 对JavaScript公式的任何帮助将不胜感激。

4条回答
浮生未央
2020-09-21 04:02 .采纳回答

Hello C Kumar,

我使用此脚本从AD检索accountExpires,并将其设置为AD的本地有效到属性:

 var MSTimestamp = Par;
 var MSTimestampNormalized =(MSTimestamp-116444736000000000-864000000000)/10000;
 var date = new Date(MSTimestampNormalized);

 date.toGMTString();
 var MonthValue = new Array(" 01"," 02"," 03"," 04"," 05"," 06"," 07"," 08"," 09"," 10"," 11",  " 12");
 var dayOfMonth =''+ date.getDate();
 如果(dayOfMonth.length == 1){dayOfMonth =" 0" + dayOfMonth;  }
 return date.getFullYear()+"-" + MonthValue [date.getMonth()] +"-" + dayOfMonth; 

不过,从来没有考虑过GMT和CET之间的时间间隔。 由于与accountExpires和validto的差异,我总是要花费一天(864000000000)。

我想我必须加上或减去另一个毫秒值来匹配我们拥有的不同时区(周围遍布 世界),如果sdomeone实际上会因为一天还没有过去而抱怨用户被过早锁定。 我想每个国家/地区的本地域控制器都可以正确处理日期。

如果需要,我可以使用时区时差(以小时为单位)并将其存储在每个公司中。 然后,我将在脚本中使用此变量来添加/减去计算新日期Datey之前的小时数。

最诚挚的问候

Dominik

一周热门 更多>