【问题标题】:match values start or end dates in javascript在javascript中匹配值开始或结束日期
【发布时间】:2020-08-27 15:34:22
【问题描述】:

我在 javascript 日期中遇到问题,我想匹配 slot dates 比较 start_date or end_date.

我的组件

  {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}


工作演示:

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

我该怎么办?谁能帮帮我?

【问题讨论】:

  • 在您的演示中,this.state.newpreviousthis.state.newseconddate 定义在哪里?
  • 对不起,我更新了代码,你检查一下this.state.slot1this.state.slot2
  • 请帮帮我,我尝试解决这个问题我花了很多时间@
  • return date &gt; prevDate &amp;&amp; date &lt; nextDate 应该使用&gt;= 而不是&gt; 来获取//match with slot1 记录
  • 您应该首先清楚地说明您的问题并在此处而不是在其他网站上发布具有预期结果的示例代码和数据。

标签: javascript reactjs date datetime match


【解决方案1】:

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

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

在您的沙盒中,您似乎从未在此处填充 newpreviousnewseconddate

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

一旦我填充了上述状态部分中的内容,它似乎就可以工作了。我还建议将 Date 变成类似 epoch 的东西;所以这些数字更容易处理 (Get epoch for a specific date using Javascript)

【讨论】:

  • 抱歉我更新了代码你检查一下this.state.slot1 and this.state.slot@
  • 请帮助我,我尝试解决这个问题我花了很多时间@
  • @adnankhan 感谢更新!您的 slot1,2,3,4 在数组中。所以你必须这样做.state.slot1 [0]。此外,当前的方式插槽 1 仍然不匹配,因为 3:00 > 3:00 不会是真的,所以也许让它 3:00 >= 3:00 in (date &gt; prevDate)
  • 你能做codesandbox的例子吗,然后可以帮助我@
  • codesandbox.io/s/festive-saha-gupff?file=/src/App.js 检查更新第 40-46 和 68-71 行
猜你喜欢
  • 2022-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-31
  • 1970-01-01
  • 2011-11-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多