我正在尝试使用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
答案 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>