检查日期是否大于指定日期

Check if a date is greater than specified date

本文关键字:日期 是否 检查 大于      更新时间:2023-09-26

如何使用javascript仅以MMM-YYYY格式传递月份和年份来检查日期是否大于或小于指定的日期。

例如:

让用户从月份下拉列表中选择 JUL,从年份下拉列表中选择 2016 年,

现在如何检查所选值是否大于/小于 JUN 2016 .

我将会话变量中的输入作为会话("月"),会话("yrs")。

我已经尝试了以下方法,但没有任何反应:

var d1 = new Date('JUN-2016')
var d2 = new Date(<% =session("month")+"-"+session("yrs") %>) )
if(d2.getTime() > d2.getTime())
{
alert('Greater than jun 2016');
}
else
{
alert('Less than jun 2016');
}

我已经浏览了这个链接 用 JavaScript 比较两个日期,但没有找到适合我病情的解决方案。

由于此应用程序是在VB上开发的,因此我对此知之甚少。

我该如何解决这个问题.

请建议

提前谢谢。

试试这个 -

var x = new Date('JUN-2016');
var y = new Date('MAY-2016');
console.log(+x < +y);
console.log(+x > +y);
console.log(+x === +y);

首先将其转换为日期对象

  // convert to a parseable date string:
   var dateStrA = "28/12/2013 16:20:22".replace( /('d{2})'/('d{2})'/('d{4})/,        "$2/$1/$3");
    var dateStrB = "28/12/2013 16:20:11".replace( /('d{2})'/('d{2})'/('d{4})/,        "$2/$1/$3");
     // now you can compare them using:
      new Date(dateStrA) > new Date(dateStrB);
var date1 = Math.ceil(Math.abs(first date) / (1000 * 3600 * 24));
var date2 = Math.ceil(Math.abs(second date) / (1000 * 3600 * 24));
if(date1  > date2 )
   alert("date1");
else
   alert("date2");

你只需要做一个简单的日期比较。请在此处阅读有关"日期"的更多信息:http://www.w3schools.com/js/js_date_methods.asp

也许这段代码可能会有所帮助:

var day = 1; // Since you don't care about the day just use the first day
var month = session("month"); // Use the number of the month instead of the name
var year = session("yrs");
var dateJune = Date.parse("2016-07-01"); // June
var dateInput = Date.parse(year + "-" + month + "-" + day);
// Compare dates
if (dateJune > dateInput) {
    // The input is before june
} else if (dateJune < dateInput) {
    // The input is after june
} else {
    // It is june
}

您需要有效的日期格式才能分析日期。与其从选择框中获取"JUN",不如获取月份的数字。选择框应如下所示:

<select>
<option value="01">Jan</option>
<option value="02">Feb</option>
...
</select>

如果这不是一个选项,您可以使用一个函数来计算数字,如果您知道您的月份变量可能具有的字符串值:

function (nameOfMonth) {
   switch (nameOfMonth) {
     case 'Jan':
        return "01";
     case 'Feb':
        return "02";
     ....
   }
}