dateAddYear('2016-01-01', '3') ;//返回:2018-12-31
瀏覽器:ie11,ff 46.0.1(成功)360v8.1(急速模式,成功)
瀏覽器:360v8.1(兼容模式,失敗)
一。代碼:
//date: 日期字符串yyyy-MM-dd,如:2016-02-14
//years:年份,正整數字符串
//返回日期字符串yyyy-MM-dd,如:2016-02-14
function dateAddYear(date, years) {
var now = new Date(date);
var intYear = now.getFullYear() + parseInt(years);
var intMonth = now.getMonth() + 1; //正常的月份,
var intDay = now.getDate() - 1; //日期-1
if (intDay == 0) {
intMonth--; //減少一個月
if (intMonth == 0) {
intYear--; //0:減少一年
intMonth = 12;
intDay = 31;
}
else if (intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) {
intDay = 30; //4,6,9,11:30天
}
else if (intMonth == 2) {
intDay = 28; //2:28/29
if (intYear % 4 == 0) {
intDay = 29;
}
} else {
intDay = 31; //1,3,5,7,8,10,12 :31天
}
}
var strMonth = (intMonth) < 10 ? "0" + (intMonth).toString() : (intMonth).toString();
var strDay = (intDay) < 10 ? "0" + (intDay).toString() : (intDay).toString();
var strEndDate = intYear + "-" + strMonth + "-" + strDay;
return strEndDate;
}
二。相關方法、函數說明
// var myDate = new Date();
// myDate.getYear(); //獲取當前年份(2位)
// myDate.getFullYear(); //獲取完整的年份(4位,1970-????)
// myDate.getMonth(); //獲取當前月份(0-11,0代表1月)
// myDate.getDate(); //獲取當前日(1-31)
// myDate.getDay(); //獲取當前星期X(0-6,0代表星期天)
// myDate.getTime(); //獲取當前時間(從1970.1.1開始的毫秒數)
// myDate.getHours(); //獲取當前小時數(0-23)
// myDate.getMinutes(); //獲取當前分鍾數(0-59)
// myDate.getSeconds(); //獲取當前秒數(0-59)
// myDate.getMilliseconds(); //獲取當前毫秒數(0-999),目前是13位整數
// myDate.toLocaleDateString(); //獲取當前日期,如:2016年6月17日
// myDate.toLocaleTimeString(); //獲取當前時間,如:11:41:24
// myDate.toLocaleString(); //獲取當前日期時間,如:2016年6月17日 11:41:24