浏览器之间的Javascript日期问题

浏览器之间的Javascript日期问题,javascript,validation,google-chrome,date,blackberry-webworks,Javascript,Validation,Google Chrome,Date,Blackberry Webworks,函数接收两个日期的格式为: YYYY/MM/DDTHH:MM 年/月/日小时:分钟 把它包起来 function compareDates(start, end) { console.log("Start: " + start); console.log("END : " + end); var start1 = start.replace(/\T/g,' ') var start2 = new Date(start1); var end1 = end

函数接收两个日期的格式为: YYYY/MM/DDTHH:MM

年/月/日小时:分钟

把它包起来

function compareDates(start, end) {
    console.log("Start: " + start);
    console.log("END : " + end);

    var start1 = start.replace(/\T/g,' ')
    var start2 = new Date(start1);

    var end1 = end.replace(/\T/g,' ')
    var end2 = new Date(end1);

    console.log("Str 1: " + start1);
    console.log("Str 2: " + start2);    
    console.log("END 1: " + end1);
    console.log("END 2: " + end2);

    console.log((end - start));
    console.log((end - start) < 0);

    if ((end - start) < 0 || (end - start) == 0) {return false;}else{return true}
}
功能比较(开始、结束){
console.log(“Start:+Start”);
console.log(“END:+END”);
var start1=start.replace(/\T/g'')
var start2=新日期(start1);
var end1=end.replace(/\T/g'')
var end2=新日期(end1);
console.log(“str1:+start1”);
控制台日志(“str2:+start2”);
控制台日志(“结束1:+结束1”);
控制台日志(“结束2:+结束2”);
log((结束-开始));
console.log((结束-开始)<0);
if((end-start)<0 | |(end-start)==0){return false;}else{return true}
}
调试前的原始代码

function compareDates(start, end) {
    start = new Date(start.replace(/\T/g,' '));
    end = new Date(end.replace(/\T/g,' '));
    if ((end - start) < 0 || (end - start) == 0) {return false;}else{return true}
}
功能比较(开始、结束){
开始=新日期(开始。替换(/\T/g',);
结束=新日期(结束。替换(/\T/g');
if((end-start)<0 | |(end-start)==0){return false;}else{return true}
}
控制台用于记录我的错误,在chrome中,这可以正常工作,没有错误,如果结束日期等于或早于我的开始日期,则返回false

如果我在WebWorks中运行,我会遇到以下输出问题 Str 2:无效日期 结束2:无效日期

我不明白的是,为什么这在blackberry web works中不起作用,但在chrome中起作用,我该如何解决这个问题


谢谢

在您的正则表达式中,您是否尝试过删除“T”之前的“\”


如果紧跟其后的字符对正则表达式引擎有特殊意义(大写字母T没有),则只需以这种方式使用前导斜杠。Chrome看起来很宽容,忽略了斜杠,而另一个浏览器却没有。

我如何比较2010/10/10 10:10和2010/10/10:09?发现问题不断地砸到我的头上,你的答案是正确的+我有一个打字错误!谢谢:)