繁体   English   中英

在 WSO2 中使用 Script Mediator 从日期中减去天数

[英]Subtract days from a Date using Script Mediator in WSO2

我想使用脚本调解器从以下格式的日期中减去 365 天(1 年),并以相同的格式获取结果日期。

2022-10-10T23:12:18.948+05:30

以下是我试过的代码:

<script language="js"><![CDATA[var log = mc.getServiceLog(); 
  log.info("Logging inside Script Mediator"); 
  var  simpleDateFormat = Packages.java.text.SimpleDateFormat;
   var end_date = mc.getProperty('DATE');
   var format    = new simpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
   var d1 = format.parse(end_date);
   var start_date = new Date();
   start_date = d1.getTime() - 365;
   log.info("Start Date::" +start_date); 
  ]]></script>

但它打印

Start Date::1665425557181

预产期

2021-10-10T23:12:18.948+05:30

或者是否可以在不使用 Script Mediator 的情况下实现这一目标? 除了使用 Script Mediator,我还能尝试什么?

如果您只想获得与前一年相同的日期,您可以执行以下操作。

<property value="2022-10-10T23:12:18.948+05:30" name="timeStamp" scope="default" type="STRING"/>
<property name="startDate" expression="concat(substring-before($ctx:timeStamp, '-')-1, '-', substring-after($ctx:timeStamp, '-'))" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM