Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.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:日期比较 dfrom=datefrom.split(“/”); dto=dateto.split(“/”); //检查年份部分; if(parseInt(dfrom[2])>parseInt(dto[2])){ 警报(“DateFrom不能大于DateTo”); 返回false; } if((parseInt(dfrom[1])>parseInt(dto[1]))&&parseInt(dfrom[2])==parseInt(dto[2])){ 警报(“DateFrom不能大于DateTo”); 返回false; } 如果(parseInt(dfrom[0])>parseInt(dto[0])&(parseInt(dfrom[1])==parseInt(dto[1]))&&parseInt(dfrom[2])==parseInt(dto[2])){ 警报(“DateFrom不能大于DateTo”); 返回false; }_Javascript - Fatal编程技术网

Javascript:日期比较 dfrom=datefrom.split(“/”); dto=dateto.split(“/”); //检查年份部分; if(parseInt(dfrom[2])>parseInt(dto[2])){ 警报(“DateFrom不能大于DateTo”); 返回false; } if((parseInt(dfrom[1])>parseInt(dto[1]))&&parseInt(dfrom[2])==parseInt(dto[2])){ 警报(“DateFrom不能大于DateTo”); 返回false; } 如果(parseInt(dfrom[0])>parseInt(dto[0])&(parseInt(dfrom[1])==parseInt(dto[1]))&&parseInt(dfrom[2])==parseInt(dto[2])){ 警报(“DateFrom不能大于DateTo”); 返回false; }

Javascript:日期比较 dfrom=datefrom.split(“/”); dto=dateto.split(“/”); //检查年份部分; if(parseInt(dfrom[2])>parseInt(dto[2])){ 警报(“DateFrom不能大于DateTo”); 返回false; } if((parseInt(dfrom[1])>parseInt(dto[1]))&&parseInt(dfrom[2])==parseInt(dto[2])){ 警报(“DateFrom不能大于DateTo”); 返回false; } 如果(parseInt(dfrom[0])>parseInt(dto[0])&(parseInt(dfrom[1])==parseInt(dto[1]))&&parseInt(dfrom[2])==parseInt(dto[2])){ 警报(“DateFrom不能大于DateTo”); 返回false; },javascript,Javascript,这是我用来比较日期的脚本代码,工作正常,但当我检查2013年4月7日和2013年4月8日时,它显示“日期从不能大于日期到”,只有这些日期显示错误的结果。我的脚本中有错误吗 任何帮助都是非常值得的。试试这个 <script> dfrom = datefrom.split("/"); dto = dateto.split("/"); //Checking Year Part; if(parseInt(dfrom[2]) > parseInt(d

这是我用来比较日期的脚本代码,工作正常,但当我检查2013年4月7日和2013年4月8日时,它显示“日期从不能大于日期到”,只有这些日期显示错误的结果。我的脚本中有错误吗

任何帮助都是非常值得的。

试试这个

<script>  
  dfrom = datefrom.split("/");
    dto = dateto.split("/");

     //Checking Year Part;
     if(parseInt(dfrom[2]) > parseInt(dto[2])){
      alert("DateFrom Cannot greater than DateTo");
      return false;
     }
     if((parseInt(dfrom[1]) > parseInt(dto[1])) && parseInt(dfrom[2]) == parseInt(dto[2])){
      alert("DateFrom Cannot greater than DateTo");
      return false;
     }
     if(parseInt(dfrom[0]) > parseInt(dto[0]) && (parseInt(dfrom[1]) == parseInt(dto[1])) &&    parseInt(dfrom[2]) == parseInt(dto[2])){
      alert("DateFrom Cannot greater than DateTo");
      return false;
     }
</script>

在解释parseInt函数的参数时,较旧的浏览器将在字符串以“0”(例如,“07”、“08”)开头时使用八进制(base-8编号系统)作为默认值。从ECMAScript 5开始,默认值是十进制基数(10)(也就是说,这很棘手,但至少现在它被贬值了)

换句话说,如果将以0开头的字符串(“01”)或数字(01)传递给parseInt,而不指定第二个参数(基数,表示什么编号系统),则它们可能会被解释为基数为8。这意味着07==7和08可能有未定义的行为(0,“,未定义,谁知道呢?)

为了安全起见,在处理日期时,请始终将第二个参数中的基数设置为parseInt(我知道我是这样做的),例如,对于常规的基数10,请将parseInt(x,10)设置为parseInt

顺便说一下,带0的前导数字表示其他语言的八进制,因此在将字符串转换为数字时最好去掉它们


祝你好运

比较日期字符串的最简单方法是将它们转换为日期对象并进行比较,因此如果日期字符串的格式为d/m/y。你可以做:

dfrom = datefrom.split("/");
dto = dateto.split("/");


var x=new Date();
x.setFullYear(dfrom [2],dfrom [1]-1,dfrom [0]);

 var y=new Date();
y.setFullYear(dto [2],dto [1]-1,dto [0]);


if (x>y)
  {
  alert("X is big ");
  }
else
  {
  alert("Y is big");
  }
//s格式为d/m/y
//例如,2013年3月15日或2013年3月15日
函数toDate(s){
var s=s.split('/');
返回新日期(s[2],--s[1],s[0]);
}
var d0='3/3/2013';
风险值d1='15/3/2013';
//比较日期
警报(toDate(d0)

在比较或算术运算中使用时,日期对象被强制为一个数字,该数字是它们的值。

使用javascript日期库。使用parseInt(something,10),或者'08'和'09'字符串将是八进制数。编写的代码是(半)无意义的。您有返回语句,但没有封闭函数。即使添加了正确的管道(并且永远不要使用不带基数的parseInt),代码似乎与提到的日期一起工作,但谁知道我是否正在以您没有的方式修改代码…请不要麻烦自己动手使用,因为您对ES5更改前导零的处理方式是正确的,并非所有浏览器都实现了它(如果有的话)。八进制处理法没有被弃用,它已被删除。使用日期对象时+1,但不需要创建日期对象,然后修改值,您可以将值传递给构造函数并保存步骤和函数调用。
// s in format d/m/y
// e.g. 15/3/2013 or 15/03/2013
function toDate(s) {
  var s = s.split('/');
  return new Date(s[2], --s[1], s[0]);
}

var d0 = '3/3/2013';
var d1 = '15/3/2013';

// Compare dates
alert( toDate(d0) < toDate(d1) );  // true

alert( toDate(d1) < toDate(d0) );  // false