Dojo无法解析自定义日期时间格式

时间:2018-08-15 00:26:09

标签: javascript datetime dojo

我正在尝试使用Dojo区域设置日期解析器,但是时间很短。每次执行时,它都会返回null

我什至强行将"test"的值赋给函数外部的变量,以消除未定义的变量范围,它仍然返回null

var djLastString = "test";
require(["dojo/date/locale"], function(locale) {
    djLastString = locale.parse("20180511 18", {
        datePattern: 'yyyyMMdd',
        timePattern: 'HH',
        selector: 'date'
    });
});
console.log(djLastString);

结果:null

1 个答案:

答案 0 :(得分:1)

您要将字符串转换为Date,因此,在这种情况下,您必须指定与字符串一起使用的确切pattern

您的字符串为20180511 18,因此datePattern应该为yyyyMMdd HH(H ->小时)而不是yyyyMMdd

请参见下面的代码段

var djLastString = "test";
require(["dojo/date/locale"], function(locale) {
    djLastString = locale.parse("20180511 18", {
        datePattern: 'yyyyMMdd HH',
        timePattern: 'HH',
        selector: 'date'
    });
    
    console.log(djLastString);
    console.log(djLastString.getTime());
});
html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
}

#accContainer {
  height: 100% !important;
}
<link href="//ajax.googleapis.com/ajax/libs/dojo/1.10.0/dijit/themes/claro/claro.css" rel="stylesheet" />
<script>
  dojoConfig = {
    parseOnLoad: true,
    async: true
  };
</script>
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.0/dojo/dojo.js"></script>