首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >空手道框架-为什么Javascript函数返回带有NaN值的数组?

空手道框架-为什么Javascript函数返回带有NaN值的数组?
EN

Stack Overflow用户
提问于 2018-10-19 12:28:12
回答 1查看 5.3K关注 0票数 2

我在Karate场景中编写了javascript函数,函数在参数中接受当前日期,并获取日期、年份、月份并将它们添加到数组中。但是由于一些未知的原因,我得到了NaN值。请看下面的空手道台阶,我一直在使用。

代码语言:javascript
复制
    * def dateArr2 = []
    * def dateParse =
        """
            function(myOrderDate)
            {
              dateArr2.add(myOrderDate); // this is for test purpose

              var today = new Date(myOrderDate);
              var dd = today.getDate();     
              var mm = today.getMonth()+1; //January is 0!
              var yyyy = today.getFullYear();
              dateArr2.add(yyyy);
              dateArr2.add(mm);
              dateArr2.add(dd);               
            }
        """ 
   * def ongoingDateTime = "2018-10-19T11:53:39.8795965Z"
   * eval dateParse(ongoingDateTime)     

注意,如果我在js执行环境(如sublime-text )中执行,类似的sublime-text代码对我有效。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-19 12:55:55

只需保持简单,请使用Java。在doc:https://github.com/intuit/karate#java-interop中有一些例子

如果太麻烦,请编写JS实用程序函数。

代码语言:javascript
复制
* def toDate =
    """
    function(s) {
      var SimpleDateFormat = Java.type('java.text.SimpleDateFormat');
      var sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
      return sdf.parse(s)           
    }
    """ 
* def raw = "2018-10-19T11:53:39.8795965Z"
* def date = toDate(raw)
* print date.day, date.month, date.year

只要看看java.util.Date的API,现在就可以看到所有这些了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52892338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档