Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript dojo.date.locale.parse返回null_Javascript_Date_Dojo - Fatal编程技术网

Javascript dojo.date.locale.parse返回null

Javascript dojo.date.locale.parse返回null,javascript,date,dojo,Javascript,Date,Dojo,我在小提琴上做了一个例子 在我的例子中,该示例在使用Chrome版本35.0.1916.114 m的Windows 7(64位)计算机上失败。 它适用于Dojo1.8或更低版本,但任何高于1.8的版本都返回null。为什么? 此外,它在我的ubuntu 13.10上运行,chromium 34.0.1847.xxx(即使是dojo 1.9.3)首先,您应该使用给定的格式参数测试输出,它应该让您了解解析时的预期: require([ "dojo/date/locale" ], functi

我在小提琴上做了一个例子

在我的例子中,该示例在使用Chrome版本35.0.1916.114 m的Windows 7(64位)计算机上失败。 它适用于Dojo1.8或更低版本,但任何高于1.8的版本都返回null。为什么?


此外,它在我的ubuntu 13.10上运行,chromium 34.0.1847.xxx(即使是dojo 1.9.3)

首先,您应该使用给定的格式参数测试输出,它应该让您了解解析时的预期:

require([
    "dojo/date/locale"
], function( locale ) {    
    var dateString = locale.format(new Date(), {datePattern: "MMM dd, yyyy", 
        timePattern: "HH:mm:ss a"})
    console.log(dateString)
});
2014年6月2日09:16:16上午

我无法在我的Windows机器上运行您的示例(IE和FF,所以这不仅仅是Chrome的问题),但从输出格式来看,似乎需要逗号。添加缺少的逗号后,它在两种浏览器上都起作用:

var dateString = "Jan 20, 2014, 12:30:00 AM"
其次,如果对月份名称进行操作,还需要指定区域设置:

var date = locale.parse(dateString, {datePattern: "MMM dd, yyyy", 
        timePattern: "HH:mm:ss a", locale: "en-US"})
因为否则,如果浏览器中的区域设置与“EN”不同,则给定的示例将不起作用

我已经在Dojo1.9、Windows7、IE和FF上进行了测试


我无法在Linux机器上测试这一点,但如果相同的代码依赖于操作系统,那么Dojo中的错误将非常严重

不是修复程序,但您可以将
dojo.date.locale.parse(…)
更改为
locale.parse(…)
。您使用的是调用dojo函数的非常旧的方法。
var date = locale.parse(dateString, {datePattern: "MMM dd, yyyy", 
        timePattern: "HH:mm:ss a", locale: "en-US"})