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

Dojo cannot parse custom date time format

我正在尝试使用 Dojo 语言环境日期解析器,但遇到了麻烦。每次我都这样做 returns null

我什至将"test"的值强加给函数外的变量以消除未定义的变量范围,它仍然returns 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

您希望将字符串转换为日期,因此在您的情况下,您必须指定与字符串匹配的确切 pattern

你的字符串是 20180511 18 所以 datePattern 应该是 yyyyMMdd HH ( H -> hours ) 而不是 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>