javascript - 时刻js : moment(0) = Wed Dec 31 1969?

标签 javascript momentjs

我试图将日期设置为空。 所以我尝试在单击清除按钮时将它们全部设为 0。

 this.clear = function () {
            _this.newQuarters.forEach(function (_value, index) {
                _value.startDate = 0;
                _value.endDate = 0;
                _value.suppressAllocation = false;
                _value.quarters.forEach(function (_childValue, index) {
                    _childValue.startDate = 0;
                    _childValue.endDate = 0;
                    _childValue.suppressAllocation = false;
                });
            });
        };
    }

之后,我尝试在其他函数中添加 0。

 this.newQuarters.forEach(function (_value, index) {
            var startDate = moment(_value.startDate);

但是,它显示开始日期 = 1969 年 12 月 31 日星期三。 请帮我找到使所有日期都为空的方法。

最佳答案

将数字传递给 moment() 函数时,它将其解释为 unix 时间戳。
这是自 EPOCH 时间以来的秒数,或 01-01-1970

因此,将 0 传递给该函数会得到 1970 年 1 月 1 日的第一秒。
Bergi指出,您可能以本地时区显示日期,这可能会导致时间早于 01-01-1970

如果您想创建空日期,则应将 startDate 设置为 null 并正确处理它(使用 if 语句)。

您还可以通过不向 moment() 函数传递任何参数来将日期设置回当前时间。

关于javascript - 时刻js : moment(0) = Wed Dec 31 1969?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58104187/

相关文章:

javascript - moment utc,date-fns 有类似的东西吗?

angularjs - mattlewis92/angular-bootstrap-calendar 在不同时区计算错误日期

javascript - 如何在列表函数中修复此闭包?

javascript - React 中的子方法可以有更改处理程序吗?

javascript - 如何使用 PUT HTTPS 方法 ReactJS 设置 handleChange 函数

calendar - 全日历中的 Jalali 日历

javascript - 使用javascript和moment js计算时间时出错

fullcalendar - moment().format() 和 fullcalendar : undefined is not a function

javascript - 2018 年 Safari 9 中的箭头功能会不会有问题?

javascript - Datatable-bootstrap仅在第一页上起作用。