Javascript下判斷是否為閏年的Datetime包
更新時(shí)間:2010年10月26日 13:39:46 作者:
在看《Javascript 實(shí)戰(zhàn)》的時(shí)候,第三章講的是如何創(chuàng)建包,里面有一個(gè) datetime 包,提供了兩個(gè)方法,一個(gè)是判斷某年是否為閏年,一個(gè)判斷某年某月有多少天,而且考慮了閏年的情況.
來(lái)看看源碼:
/**
* jscript.datetime package
* This package contains utility functions for working with dates and times.
*/
/*命名空間*/
if (typeof jscript == 'undefined') {
jscript = function() { }
}
jscript.datetime = function() { }
/**
* This function will return the number of days in a given month and year,
* taking leap years into account.(這個(gè)函數(shù)返回所給某年、某月的天數(shù),并且考慮了閏年的情況)
*
* @param inMonth The month, where January = 1 and December = 12.
* @param inYear The year to check the month in.
* @return The number of days in the specified month and year.
*/
jscript.datetime.getNumberDaysInMonth = function(inMonth, inYear) {
inMonth = inMonth - 1;
var leap_year = this.isLeapYear(inYear);
if (leap_year) {
leap_year = 1;
} else {
leap_year = 0;
}
/*4, 6, 9, 11 月為 30 天,注意上面的 inMonth = inMonth - 1*/
if (inMonth == 3 || inMonth == 5 || inMonth == 8 || inMonth == 10) {
return 30;
} else if (inMonth == 1) {/*2 月為 28 或者 29 天,視是否為閏年而定*/
return 28 + leap_year;
} else {/*其它月則為 31 天*/
return 31;
}
} // End getNumberDaysInMonth().
/**
* This function will determine if a given year is a leap year.
*(這個(gè)函數(shù)用來(lái)確定是否為閏年)
* @param inYear The year to check.
* @return True if inYear is a leap year, false if not.
*/
jscript.datetime.isLeapYear = function(inYear) {
if ((inYear % 4 == 0 && !(inYear % 100 == 0)) || inYear % 400 == 0) {
return true;
} else {
return false;
}
} // End isLeapYear().
復(fù)制代碼 代碼如下:
/**
* jscript.datetime package
* This package contains utility functions for working with dates and times.
*/
/*命名空間*/
if (typeof jscript == 'undefined') {
jscript = function() { }
}
jscript.datetime = function() { }
/**
* This function will return the number of days in a given month and year,
* taking leap years into account.(這個(gè)函數(shù)返回所給某年、某月的天數(shù),并且考慮了閏年的情況)
*
* @param inMonth The month, where January = 1 and December = 12.
* @param inYear The year to check the month in.
* @return The number of days in the specified month and year.
*/
jscript.datetime.getNumberDaysInMonth = function(inMonth, inYear) {
inMonth = inMonth - 1;
var leap_year = this.isLeapYear(inYear);
if (leap_year) {
leap_year = 1;
} else {
leap_year = 0;
}
/*4, 6, 9, 11 月為 30 天,注意上面的 inMonth = inMonth - 1*/
if (inMonth == 3 || inMonth == 5 || inMonth == 8 || inMonth == 10) {
return 30;
} else if (inMonth == 1) {/*2 月為 28 或者 29 天,視是否為閏年而定*/
return 28 + leap_year;
} else {/*其它月則為 31 天*/
return 31;
}
} // End getNumberDaysInMonth().
/**
* This function will determine if a given year is a leap year.
*(這個(gè)函數(shù)用來(lái)確定是否為閏年)
* @param inYear The year to check.
* @return True if inYear is a leap year, false if not.
*/
jscript.datetime.isLeapYear = function(inYear) {
if ((inYear % 4 == 0 && !(inYear % 100 == 0)) || inYear % 400 == 0) {
return true;
} else {
return false;
}
} // End isLeapYear().
相關(guān)文章
JavaScript Date對(duì)象 日期獲取函數(shù)
JavaScript Date對(duì)象 日期獲取函數(shù)必備,需要使用js得到當(dāng)前日期的朋友可以參考下。2010-12-12js 日期字符串截取分割成單個(gè)具體的日期(2009-12-30 13:28:29)
js 日期字符串截取分割,這里利用的indexOf查找字符串的方法,效率什么的都不是很高,大家可以用數(shù)組的方式,將空格,分號(hào),連接符號(hào)統(tǒng)一替換成一個(gè)樣的字符,分割。2009-12-12javascript 日期時(shí)間函數(shù)(經(jīng)典+完善+實(shí)用)
日期時(shí)間腳本庫(kù)方法列表2009-05-05