- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
性能对于这个家伙来说是最重要的......这东西需要快如闪电!
您如何验证给定月份的天数?
我的第一个想法是创建一个包含给定月份的天数的数组,索引代表月份:
var daysInMonth = [
31, // January
28, // February
31, // March
etc.
];
然后按照以下方式做一些事情:
function validateDaysInMonth(days, month)
{
if (days < 1 || days > daysInMonth[month]) throw new Error("Frack!");
}
但是...闰年怎么样?如何实现闰年检查并保持函数运行相对较快?
更新:我希望你们向我展示一些代码,这些代码可以验证月份中的日期 - 闰年。
这是描述今天使用的逻辑的流程图:
(来源:about.com)
最佳答案
function daysInMonth(m, y) { // m is 0 indexed: 0-11
switch (m) {
case 1 :
return (y % 4 == 0 && y % 100) || y % 400 == 0 ? 29 : 28;
case 8 : case 3 : case 5 : case 10 :
return 30;
default :
return 31
}
}
function isValid(d, m, y) {
return m >= 0 && m < 12 && d > 0 && d <= daysInMonth(m, y);
}
关于javascript - 验证给定月份的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1433030/
我是一名优秀的程序员,十分优秀!