比較一個字串日期和一個日期格式的日期的大小
阿新 • • 發佈:2019-02-09
var nowTime = parseToDate(new Date());
var nowString = nowTime.format("yyyy-MM-dd");
var effectTime = $("#effectTime").datebox("getValue");
if(effectTime.localeCompare(nowString) < 0){
$.messager.alert("提示","生效日期不能小於當前日期");
return false;
}
其中 parseToDate():
format:/** * 將值轉化為日期格式 * @param value * @returns */ function parseToDate(value) { if (value == null || value == '') { return undefined; } var dt; if (value instanceof Date) { dt = value; } else { if (!isNaN(value)) { dt = new Date(value); } else if (value.indexOf('/Date') > -1) { value = value.replace(/\/Date\((-?\d+)\)\//, '$1'); dt = new Date(); dt.setTime(value); } else if (value.indexOf('/') > -1) { dt = new Date(Date.parse(value.replace(/-/g, '/'))); } else { dt = new Date(value); } } return dt; }
localeCompare:/** * 為Date型別拓展一個format方法,用於格式化日期 */ Date.prototype.format = function (format) { var o = { "M+": this.getMonth() + 1, //month "d+": this.getDate(), //day "h+": this.getHours(), //hour "m+": this.getMinutes(), //minute "s+": this.getSeconds(), //second "q+": Math.floor((this.getMonth() + 3) / 3), //quarter "S": this.getMilliseconds() //millisecond }; if (/(y+)/.test(format)) format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(format)) format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); return format; };
定義和用法
用本地特定的順序來比較兩個字串。
語法
stringObject.localeCompare(target)
引數 | 描述 |
---|---|
target | 要以本地特定的順序與 stringObject 進行比較的字串。 |
返回值
說明比較結果的數字。如果 stringObject 小於 target,則 localeCompare() 返回小於 0 的數。如果 stringObject 大於 target,則該方法返回大於 0 的數。如果兩個字串相等,或根據本地排序規則沒有區別,該方法返回 0。