首页 > 解决方案 > match values start or end dates in javascript

问题描述

I am facing an issue in javascript dates, i want to match slot dates comparing start_date or end_date.

my component

  {this.state.data && this.state.data.length
            ? this.state.data
                .filter(data => {
                  const date = new Date(data.start_date);
                  const enddate = new Date(data.end_date);
                  console.log(date); //start
                  console.log(enddate); //end
                  return date > prevDate && date < nextDate;
                })
                .map(({ cust_full_name, start_date }, index) => (
                  <div class="row" key={index}>
                    slot: {index + 1}
                    <p>{start_date}</p>
                    <p>{cust_full_name}</p>
                  </div>
                ))
            : null}


working demo:

https://codesandbox.io/s/lucid-dream-gl3l7?file=/src/App.js

what should i do? can anyone help me?

标签: javascriptreactjsdatedatetimematch

解决方案


编辑:您所在州的插槽值在数组中,但是当您将它们传递到日期时,您不会访问字符串值。

slot1 : ["date"] 不正确:new Date[slot1] 正确:new Date[slot[0]]

在您的沙箱中,您似乎从未填充过newprevious这里newseconddate

const prevDate = new Date(this.state.newprevious);
const nextDate = new Date(this.state.newseconddate);

一旦我在上述状态部分填充了这些内容,它似乎就可以工作了。我还建议将 Date 变成类似 epoch 的东西;所以这些数字更容易使用(使用 Javascript 获取特定日期的纪元


推荐阅读