您的位置:首页 > 其它

比较一个字符串日期和一个日期格式的日期的大小

2015-07-01 16:28 288 查看
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():

/**
* 将值转化为日期格式
* @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;
}format:
/**
* 为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;
};
localeCompare:


定义和用法

用本地特定的顺序来比较两个字符串。


语法

stringObject.localeCompare(target)

参数描述
target要以本地特定的顺序与 stringObject 进行比较的字符串。


返回值

说明比较结果的数字。如果 stringObject 小于 target,则 localeCompare() 返回小于 0 的数。如果 stringObject 大于 target,则该方法返回大于 0 的数。如果两个字符串相等,或根据本地排序规则没有区别,该方法返回 0。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: