条件无法响应本地生产,但可以在开发中使用

时间:2019-03-05 08:29:56

标签: javascript date react-native

我创建了一个react native应用程序,通过它我需要进行迄今为止的比较。如果是真的,将执行执行。

问题是,该条件在React本机开发模式下起作用,而在React本机生产版本中不起作用。我正在为数据库使用firebase,也正在使用redux。

这是我的代码:

  var d = new Date();
  const fromDate = extract.validFrom.split("-").reverse(); //"01-02-2019"
  const tillDate = extract.validTill.split("-").reverse(); //"10-03-2019"
  var k = new Date(fromDate)
  var j = new Date(tillDate)

需要验证的条件是:

if(d.getDate() >= k.getDate() === true && d.getDate() <= j.getDate() === true){...some code}else{this.props.error("Code Expired")}

这在开发过程中确实可以正常工作,但条件是失败了,并且转移到其他地方。我不知道为什么表格和截止日期已从Firebase停用。

请帮助我解决。

2 个答案:

答案 0 :(得分:1)

实际上,这是由于JavaScript核心不同而发生的。作为,chrome具有最新版的core,但没有本地响应。因此,您需要根据ES6给出日期,将日期“ 01-02-2019”更改为

"Fri Feb 02 2018 00:00:00 GMT+0530 (India Standard Time)". 

然后删除

.split("-").reverse(); on both dates.

希望完全可以。

答案 1 :(得分:0)

一旦遇到日期问题,我就会遇到同样的问题。然后,我尝试用new Date()括起该值,这对我有所帮助。我认为您的问题也与此类似。尝试比较为

if((new Date(d) >= new Date(k)) && (new Date(d) <= new Date(j))){
   ...some code
}