javascript - 使用脚本中介计算 WSO2 EI 6.5.0 中两个日期之间的日期/时间差(“yyyy-mm-dd hh-mm-ss”)
问题描述
我正在尝试通过使用 WSO2 EI Script Mediator 中的 JavaScript 功能来获取两个日期之间的日期时间差。
代码:
<script language="js"><![CDATA[var log = mc.getServiceLog();
log.info("Logging inside Script Mediator");
var resolved_date= new Date("2021-07-13 10:23:04");
var current_date = new Date("2021-07-13 11:23:04");
var diff = current_date .getTime() - resolved_date.getTime();
var Hrs = diff / (1000 * 60 * 60);
log.info("Time difference::" + Hrs);
]]></script>
但它给出如下输出
Time difference::NaN
有人可以帮忙吗?
解决方案
我找到了一些解决方案。请为此添加任何其他更好的解决方案。
<script language="js"><![CDATA[var log = mc.getServiceLog();
log.info("Logging inside Script Mediator");
var simpleDateFormat = Packages.java.text.SimpleDateFormat;
var resolved_date="2021-07-13 09:23:04";
var current_date = "2021-07-13 11:23:04";
var fomatter = new simpleDateFormat("yyyy-MM-dd hh:mm:ss");
var d1 = fomatter.parse(resolved_date);
var d2 = fomatter.parse(current_date);
var difference_In_Time= d2.getTime() - d1.getTime();
log.info("difference_In_Time::" +difference_In_Time);
var difference_In_Minutes= (difference_In_Time/ (1000 * 60))% 60;
log.info("difference_In_Minutes ::" +difference_In_Time);
var difference_In_Hours= (difference_In_Time/ (1000 * 60 * 60))% 24;
log.info("difference_In_Hours ::" +difference_In_Time);
]]></script>
输出:
difference_In_Time::7200000
difference_In_Minutes ::7200000
difference_In_Hours ::7200000
推荐阅读
- sql-server - 插入后实体框架更新为错误的值
- java - 为什么我可以像原语一样测试包装器的不等式?我可以为我创建的课程做这件事吗?
- python - Namedtuple 是用详细的类型名实现的
- javascript - JQuery 在 div 内滚动
- python - 从两个数组创建 numpy 数组,以便备用索引包含来自不同数组的元素
- haskell - 流式库中 takeWhileM 函数的一元谓词
- c# - 1 次登录尝试失败后服务器锁定用户名?
- sql-server - DJANGO 使用 SQLSERVER 如何触发程序?
- node.js - 数据库不接受新条目 - 带有 mongoose 和 express.js 的 mongodb
- javascript - 单击后如何将函数返回值分配给变量以供以后在javascript中使用?