#### JS 獲取當前日期
~~~
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)
myDate.toLocaleDateString(); //獲取當前日期
var mytime=myDate.toLocaleTimeString(); //獲取當前時間
myDate.toLocaleString( ); //獲取日期與時間
~~~
js 日期比較大小,js判斷日期是否在區間內,js判斷時間段是否在另外一個時間段內
js判斷時間區間是否在另外一個時間區間內,js時間格式化,js時間比較大小
~~~
/**
* 日期解析,字符串轉日期
* @param dateString 可以為2017-02-16,2017/02/16,2017.02.16
* @returns {Date} 返回對應的日期對象
*/
function dateParse(dateString){
var SEPARATOR_BAR = "-";
var SEPARATOR_SLASH = "/";
var SEPARATOR_DOT = ".";
var dateArray;
if(dateString.indexOf(SEPARATOR_BAR) > -1){
dateArray = dateString.split(SEPARATOR_BAR);
}else if(dateString.indexOf(SEPARATOR_SLASH) > -1){
dateArray = dateString.split(SEPARATOR_SLASH);
}else{
dateArray = dateString.split(SEPARATOR_DOT);
}
return new Date(dateArray[0], dateArray[1]-1, dateArray[2]);
};
/**
* 日期比較大小
* compareDateString大于dateString,返回1;
* 等于返回0;
* compareDateString小于dateString,返回-1
* @param dateString 日期
* @param compareDateString 比較的日期
*/
function dateCompare(dateString, compareDateString){
if(isEmpty(dateString)){
alert("dateString不能為空");
return;
}
if(isEmpty(compareDateString)){
alert("compareDateString不能為空");
return;
}
var dateTime = dateParse(dateString).getTime();
var compareDateTime = dateParse(compareDateString).getTime();
if(compareDateTime > dateTime){
return 1;
}else if(compareDateTime == dateTime){
return 0;
}else{
return -1;
}
};
/**
* 判斷日期是否在區間內,在區間內返回true,否返回false
* @param dateString 日期字符串
* @param startDateString 區間開始日期字符串
* @param endDateString 區間結束日期字符串
* @returns {Number}
*/
function isDateBetween(dateString, startDateString, endDateString){
if(isEmpty(dateString)){
alert("dateString不能為空");
return;
}
if(isEmpty(startDateString)){
alert("startDateString不能為空");
return;
}
if(isEmpty(endDateString)){
alert("endDateString不能為空");
return;
}
var flag = false;
var startFlag = (dateCompare(dateString, startDateString) < 1);
var endFlag = (dateCompare(dateString, endDateString) > -1);
if(startFlag && endFlag){
flag = true;
}
return flag;
};
/**
* 判斷日期區間[startDateCompareString,endDateCompareString]是否完全在別的日期區間內[startDateString,endDateString]
* 即[startDateString,endDateString]區間是否完全包含了[startDateCompareString,endDateCompareString]區間
* 在區間內返回true,否返回false
* @param startDateString 新選擇的開始日期,如輸入框的開始日期
* @param endDateString 新選擇的結束日期,如輸入框的結束日期
* @param startDateCompareString 比較的開始日期
* @param endDateCompareString 比較的結束日期
* @returns {Boolean}
*/
function isDatesBetween(startDateString, endDateString,
startDateCompareString, endDateCompareString){
if(isEmpty(startDateString)){
alert("startDateString不能為空");
return;
}
if(isEmpty(endDateString)){
alert("endDateString不能為空");
return;
}
if(isEmpty(startDateCompareString)){
alert("startDateCompareString不能為空");
return;
}
if(isEmpty(endDateCompareString)){
alert("endDateCompareString不能為空");
return;
}
var flag = false;
var startFlag = (dateCompare(startDateCompareString, startDateString) < 1);
var endFlag = (dateCompare(endDateCompareString, endDateString) > -1);
if(startFlag && endFlag){
flag = true;
}
return flag;
};
~~~