一、创建日期
常用方法:
new Date() //当前时间和日期;
new Date(milliseconds) //返回从1970年1月1日至今的毫秒数;
new Date(year,month,day,hours,minutes,seconds,milliseconds)
new Date(dateString)
dataString可以分为三种:
英文和数字结合,例如:var d1 = new Date("October 13,1975 11:13:00");
斜杠和冒号分割,例如:var d2 = new Date("2017/9/25 21:49:49") 注:这种方式在谷歌和ie浏览器都支持(火狐欧朋为测试); 通过d3.getTime()可以得到1970年1月1日至今的毫秒数;
横杠和冒号分割,例如:var d3 = new Date("2017-9-25 21:50:02") 注:这种方式谷歌 通过d3.getTime()可以得到1970年1月1日至今的毫秒数;ie8/9无法获取到毫秒数
可以使用字符串替换转换格式,string_d.replace(/-/g,"/");
二、设置跨月限制
var limitTime = function(startTime,endTime,limitMonth){
var that = this;
//根据传入的时间格式分解时间字符串
if(!startTime||!endTime) return "emptyTime";
var ytd,hms;
if(startTime.split(' ').length>1){
ytd = startTime.split(' ')[0];
hms = startTime.split(' ')[1];
}else{
ytd = startTime;
}
var arr_time = ytd.split('-'),//此处为时间分割符
//获取开始时间
year = arr_time[0],
month = arr_time[1],
day = arr_time[2];
//计算limit限制的结束日期
var last_year = year,
last_month = Number(month) + limitMonth;
if(last_month>=13){
last_year = Number(last_year)+Math.floor(last_month/12);
last_month = last_month%12;
}
var last_day = day,
last_month = last_month-1;
//获取结束时间的月的天数
var _days = new Date(last_year,last_month,0)
var last_day是= _days.getDate();
if(last_day>last_days){
last_day = last_days;
}
if(hms){
hms = hms.replace(/s+/g,"").split(":");
var lastTime = new Date(Number(last_year),Number(last_month),Number(last_day),Number(hms[0]),Number(hms[1]),Number(hms[2])).getTime();
}else{
var lastTime = new Date(Number(last_year),Number(last_month),Number(last_day)).getTime();
};
var end_time = new Date(endTime.replace(new RegExp("-","gm"),"/"));
if(end_time.getTime()>lastTime){
return true;
}else{
return false;
}
}