js 日期比較大小,js判斷日期是否在區間內,js判斷時間段是否在另外一個時間段內
js判斷時間區間是否在另外一個時間區間內,js時間格式化,js時間比較大小
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
©Copyright 蕃薯耀 2017年3月8日
http://www.cnblogs.com/fanshuyao/
- <span style="line-height: 25.2px;">/**
- * 日期解析,字符串轉日期
- * @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;
- };</span>
(如果你覺得文章對你有幫助,歡迎捐贈,^_^,謝謝!)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
©Copyright 蕃薯耀 2017年3月8日
http://www.cnblogs.com/fanshuyao/

