jQuery函数比较日期与当前日期
jQuery function to compare date with current date
我在单独的文本框中输入日期,从下拉框中选择年份,然后在文本框中输入年份,以形式输入出生日期。现在我想检查输入的日期不能大于jquery中的当前日期。请帮忙怎么做?
var CurrentMonth = date.getDate() + '/' + date.getMonth() + '/' + date.getFullYear();
var SelectedDate = $('[id$=spDate]').val() + '/' + $('[id$=drpMonth]').val() + '/' + $('[id$=txtYear]').val();
if (CurrentDate > SelectedDate) {
return false;
}
如果输入值是整数,则可以使用它们构造一个Date
实例:
var CurrentDate = new Date();
var SelectedDate = new Date(
$('[id$=txtYear]').val(),
$('[id$=drpMonth]').val(),
$('[id$=spDate]').val()
);
//As quite rightly mentioned, January = 0, so if your inputs have the literal number for each month (1 for January) replace the line above with the following, to take a month off:
//var SelectedDate = new Date($('[id$=txtYear]').val(), $('[id$=drpMonth]').val()-1, $('[id$=spDate]').val());
if(CurrentDate > SelectedDate){
//CurrentDate is more than SelectedDate
}
else{
//SelectedDate is more than CurrentDate
}
比较Date
对象很简单,只需使用标准的关系运算符即可。当传递一个Object
时,它们隐式地调用对象的.valueOf()
函数,该函数将以毫秒为单位返回时间,适合比较。
困难的部分是首先构造一个有效的Date
对象。
为了可靠性,我强烈建议使用Date
构造函数的这个版本,而不是传递字符串:
new Date(year, month, day [, hour, minute, second, millisecond]);
确保本地日期格式无关紧要。传递一个字符串会产生不同的结果,这取决于默认的日期格式是mm/dd/yyyy
还是dd/mm/yyyy
。
不要忘记年份必须是一个全数字年份,并且在这个版本中一月用0表示,而不是1:
var SelectedDate = new Date(
$('[id$=txtYear]').val(),
$('[id$=drpMonth]').val() - 1,
$('[id$=spDate]').val());
if (CurrentDate > SelectedDate) { ... }
function compareDate() {
var dateEntered = document.getElementById("txtDateEntered").value;
var date = dateEntered.substring(0, 2);
var month = dateEntered.substring(3, 5);
var year = dateEntered.substring(6, 10);
var dateToCompare = new Date(year, month - 1, date);
var currentDate = new Date();
if (dateToCompare > currentDate) {
alert("Date Entered is greater than Current Date ");
}
else {
alert("Date Entered is lesser than Current Date");
}
}
检查是否有帮助:
var TodayDate = new Date();
var endDate= new Date(Date.parse($("#EndDate").val()));
if (endDate> TodayDate) {
// throw error here..
}
https://stackoverflow.com/a/40039798/885627 试试这个函数:
function isFutureDate(dateText) {
var arrDate = dateText.split("/");
var today = new Date();
useDate = new Date(arrDate[2], arrDate[1] - 1, arrDate[0]);
if (useDate > today) {
return true;
} else return false;
}
接受的答案按时间检查。
由于输入类型为"date",毫秒数为000
比较日期
var variable1 = new Date();
var variable2 = variable1.toISOString().split('T')[0];
var SelectedDate = new Date(
$('[id$=txtYear]').val(),
$('[id$=drpMonth]').val(),
$('[id$=spDate]').val()
);
if (SelectedDate.getTime() < new Date(variable2).getTime()) {
//input date less than todays date
}else{
//input date bigger than todays date
}
相关文章:
- 如何在JavaScript中延长当前日期
- 使用当前日期生成随机id
- 无法将picadate日期选择器重置为指向当前月份
- JavaScript日期接收为像这次旅行一样的对象.日期:“/日期(1426530600000)/”;
- 如何使用 javascript 获取 UTC 格式的日期,而不考虑当前系统日期
- 选择数据属性日期值早于当前服务器日期的元素
- 将变量日期与 if/else 语句中的日期(日期字符串)进行比较
- 日期日期对象与输入不同
- JavaScript 新日期(日期)返回错误的日期
- 日期(日期字符串)构造函数不一致
- 点击按钮获取当前系统日期时间
- 如何写日期|日期:"MM”;在ng类中
- javascript数组查找具有当前日期+日期的最近日期
- 将UTC中的Epoch转换为当前时区日期
- 如何将当前月份日期更改为另一个月
- 将当前时间日期放在隐藏字段中
- 向已经选择的日期(当前在日期选择器文本框中的日期)添加一定天数
- 如何将当前输入日期添加到动态列表中?
- 显示当前和+1日期的Javascript时间
- 在 Javascript 中将 ISO 8601 字符串转换为当前时区日期时间对象