[Java教程]计算某年某月的天数(月末)
0
2017-08-10 15:00:08
方法1/** * 获取某年月的天数 * @param year 年 * @param month 月(0-11) * @returns {number} 天数 */var getDaysOfMonth = function (year, month) { month = month + 1; switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: return 31; case 4: case 6: case 9: case 11: return 30; case 2: return ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) ? 29 : 28; default: return 0; }};
方法2/** * 获取某年月的天数 * @param year 年 * @param month 月(0-11) * @returns {number} 天数 */var getDaysOfMonth2 = function (year, month) { month++; if (month > 11) { month = 0, year++; } return new Date(new Date(year, month, 1).getTime() - 1000 * 3600 * 24).getDate();};
经过测试第一个方法效率明显高出不少。
测试代码var testCostTime = function (method) { var d1 = new Date(); if(method==1){ for(var i=0;i<100000;i++){ getDaysOfMonth(2017,1); } }else{ for(var i=0;i<100000;i++){ getDaysOfMonth2(2017,1); } } console.log('cost time:'+(new Date().getTime()-d1.getTime())); }
进行10万次调用测试后,方法1耗时为0-1毫秒,方法2耗时为38-41毫秒。所以建议使用方法一,进行计算年月的天数。
本文网址:http://www.shaoqun.com/a/320920.html
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。
0