【发布时间】:2021-02-23 18:02:29
【问题描述】:
我有一个组件,它根据用户可以选择的下拉列表中的各种选择器设置 startDate 和 endDate。
代码如下所示:
const handleDateOptionChange = option => {
if (option?.value === "day") {
setStartDate(moment().startOf("day"));
setEndDate(moment());
}
if (option?.value === "week") {
setStartDate(moment().startOf("week"));
setEndDate(moment());
}
if (option?.value === "month") {
setStartDate(moment().startOf("month"));
setEndDate(moment());
}
...
setDateOption(option);
};
出于我的目的,我正在尝试将 startDate 和 endDate 的值与 moment() 对象进行比较,以便我可以找到一种方法来保持在页面刷新时选中的下拉列表中的正确选择器(我正在抓取 start 和来自 queryParams 的 endDate)。
我有一段代码来测试它,看起来像这样:
const setDateOption = () => {
console.log(startDate);
console.log(moment().startOf("day"));
if (startDate == moment().startOf("day") && endDate == moment()) {
return dateOptions[0];
}
return dateOptions[1];
};
moment 对象的 _d 部分匹配,但我被告知不要使用这些部分进行比较。如何将我的 startDate 与实际的 moment() 类型对象进行比较?
【问题讨论】:
-
@Damian-TeodorBeleş 检查我刚刚发布的答案。这是我用例中首选的比较方法吗?
-
这能回答你的问题吗? Moment js date time comparison
标签: reactjs typescript momentjs