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:如何理解这个奇怪的作业?

javascript - 无法在 Highcharts 图表中设置时区

javascript - 我如何使用 momentjs 找到上周一?

javascript - 从 !value 中排除 0

javascript - 如何在 JavaScript 中检测浏览器 "minimized"和 "maximized"状态?

javascript - 提交成功后如何让数据消失

javascript - 在悬停在另一个 div 上时显示一个 div 会导致对服务器的多个请求和闪烁

typescript - 无法构建 MomentInput 类型冲突的 moment.js typescript

javascript - 仅格式化时间以与 ui-bootstrap timepicker 一起使用

javascript - 两个日期之间的差异(以小时和分钟为单位)