我试图将日期设置为空。 所以我尝试在单击清除按钮时将它们全部设为 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/