首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >更改无效日期以在javascript中返回字符串

更改无效日期以在javascript中返回字符串
EN

Stack Overflow用户
提问于 2020-07-22 13:19:04
回答 3查看 63关注 0票数 0

我有一个日期无效的对象。我将这个日期显示在一个表中,但是我想说如果这个日期是无效的,那么它应该显示为"Future Date“。我的代码是这样的:

代码语言:javascript
运行
复制
for (let i = 0; i < res.data.length; i += 1) {
  if (!(res.data[i].inspectionDate instanceof Date &&
      !isNaN(res.data[i].inspectionDate))) {
    res.data[i].inspectionDate = 'Futre Date';
  }
}

但是如果日期无效,它仍然会显示“无效日期”。如果日期无效,如何显示“未来日期”?

EN

回答 3

Stack Overflow用户

发布于 2020-07-22 13:31:06

使用这个

代码语言:javascript
运行
复制
for (let i = 0; i < res.data.length; i++) {
    if (JSON.stringify(new Date(res.data[i].inspectionDate)) === 'null') {
        res.data[i].inspectionDate = "Futre Date";
    }
}
票数 0
EN

Stack Overflow用户

发布于 2020-07-22 13:31:32

我不明白你为什么要用!isNaN(res.data[i].inspectionDate)。我认为!(res.data[i].inspectionDate instanceof Date)这足以检查日期是否无效。请检查下面的代码。

代码语言:javascript
运行
复制
var res = {
  data: [{
      inspectionDate: 'INVALID DATE'
    },
    {
      inspectionDate: new Date()
    }
  ]
};

for (let i = 0; i < res.data.length; i++) {
  if (!(res.data[i].inspectionDate instanceof Date)) {
    res.data[i].inspectionDate = 'Future Date';
  }
}

console.log(res);

您也可以使用这种方式。

代码语言:javascript
运行
复制
var res = {
  data: [{
      inspectionDate: 'INVALID DATE'
    },
    {
      inspectionDate: new Date()
    }
  ]
};

res.data.forEach(data => {
  if (!(data.inspectionDate instanceof Date)) {
    data.inspectionDate = 'Future Date';
  }
});

console.log(res);

票数 0
EN

Stack Overflow用户

发布于 2020-07-22 13:57:34

您只需检查是否可以将日期强制转换为有效数字:

代码语言:javascript
运行
复制
if (isNaN(res.data[i].inspectionDate)) {
       res.data[i].inspectionDate = "Futre Date";
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63027399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档