javascript - 如何在 JavaScript 中验证日期时间值?

标签 javascript datetime

如何在 JavaScript 中验证日期时间值,以确保输入的年、月、日、小时、分钟和秒值构成有效的 Datetime 对象?

最佳答案

也许是这样的:

function ValidateDate(y, mo, d, h, mi, s)
{
  var date = new Date(y, mo - 1, d, h, mi, s, 0);
  var ny = date.getFullYear();
  var nmo = date.getMonth() + 1;
  var nd = date.getDate();
  var nh = date.getHours();
  var nmi = date.getMinutes();
  var ns = date.getSeconds();
  return ny == y && nmo == mo && nd == d && nh == h && nmi == mi && ns == s;
}

测试使用:

"OK"
ValidateDate(2001, 2, 28, 10, 35, 42)
ValidateDate(2001, 12, 29, 10, 35, 42)
ValidateDate(2000, 2, 29, 10, 35, 42)
ValidateDate(2004, 2, 29, 10, 35, 42)
ValidateDate(1970, 1, 2, 3, 4, 5)
ValidateDate(2008, 1, 15, 10, 25, 44)
"KO"
ValidateDate(2001, 2, 29, 10, 35, 42)
ValidateDate(2001, 11, 32, 10, 35, 42)
ValidateDate(2001, 15, 2, 10, 35, 42)
ValidateDate(2001, 1, 2, 25, 35, 42)
ValidateDate(2001, 5, 2, 1, 61, 42)
ValidateDate(2001, 5, 2, 1, 1, 70)
ValidateDate(2001, 0, 2, 1, 1, 1)
ValidateDate(2001, 2, 0, 1, 1, 1)

关于javascript - 如何在 JavaScript 中验证日期时间值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/446035/

相关文章:

php - SQL和PHP日期时间...最直接的方法

javascript - Vue3+Vite : error handling in production

javascript - 我在 data 属性中有一个变量,并从 prop 传递相同的变量。为什么 {{}} 模板显示 prop 中的值而不是 data

javascript - 如何动态命名数组以在其上映射

javascript - 如何使用 web(js) 在 OneSignal 中设置 External_User_Id?

php - 无法将字符串或日期时间对象插入 mysql

javascript - 如何将二进制字符串转换为十进制?

javascript - 月/日/年月日 HH :MM:SS AM/PM date validation regular expression in javascript

python - 在 Python 中将 N 秒添加到 datetime.time 的标准方法是什么?

sql-server - 为什么 SQL Server CONVERT of a DATE value to a date+time style 不包括时间?