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

svmlkihl  于 2022-12-16  发布在  Dojo
关注(0)|答案(1)|浏览(250)

我尝试使用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

zdwk9cvp

zdwk9cvp1#

您希望将字符串转换为Date,因此在您的示例中,必须指定与字符串匹配的确切模式,
您的字符串是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>

相关问题