JavaScript 日期创建

标签 javascript rest date

为什么 javaScript 允许创建日期,例如

invalidDate = new Date(2015,3,31);

在这里,我尝试创建一个 4 月 31 日的日期。相反,JavaScript 创建的日期为 2015 年 5 月 1 日星期五 00:00:00。我们应该在创建日期之前验证日期吗?

在某些情况下,当我们尝试解析无效日期时,它会执行相同的操作。当给定日期可能无效时,应该如何正确解析日期?

var invalidDate = new Date(2015, 3, 31);
alert(invalidDate);

最佳答案

您可以使用 Date API 创建日期检查结果:

function makeDate(year, month, day) {
  var d = new Date(year, month, day);
  if (d.getFullYear() !== year || d.getMonth() !== month)
    throw new Error("Invalid date");
  return d;
}

如果该天不是给定月份的有效日期,则该月份将被调整;这是 Date API 的一项功能,可以轻松进行“日期数学计算”。如果上面的代码注意到输入值已被更正,则会抛出异常。

关于JavaScript 日期创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39412513/

相关文章:

javascript - ES 模块实现是否支持导入 JSON 文件?

Javascript:如何在函数中通过变量名获取元素?

java - 在 JSON 中包含文本文件

java - 休息 通话不工作

java - 如何将时间戳字符串转换为本地时间字符串?

date - 将读取日期的结果保存到vim脚本中的变量中

javascript - jQuery:固定顶部菜单,如 Facebook 和 Twitter

javascript - 将 PHPDoc 注释与正则表达式匹配

java - 如何使用 Jersey (Java) 通过 Rest API 上传 csv 文件?

java - 在 UTC 中使用过期日期时 JWT 过期不起作用