【问题标题】:how to check a date is within current week or current month or next month in javascript?如何在javascript中检查日期是否在本周或当月或下个月?
【发布时间】:2012-07-09 09:19:36
【问题描述】:

我有一些朋友的生日,想把他们分开如下:

  • 当周内的生日(从当日开始的当周剩余天数内)。
  • 当月内的生日(从当天开始的当月剩余天数内)。
  • 下个月内的生日。

所以我只想知道如何在 javascript 中测试每个日期,看看它是否在当前周/当前月/下个月的剩余天数内。

注意:假设我有 m/d/Y(06/29/1990) 格式的日期。

谢谢

【问题讨论】:

标签: javascript jquery date


【解决方案1】:

将您的日期和当前时间转换为Date 对象并使用它进行比较。一些枯燥的编码:

var now = new Date()
if (
   (check.getFullYear() == now.getFullYear()) &&
   (check.getMonth() == now.getMonth()) &&
   (check.getDate() >= now.getDate())
) {
   // remanining days in current month and today. Use > if you don't need today.
}

var nextMonth = now.getMonth() + 1
var nextYear = now.getFullYear()
if (nextMonth == 12) {
   nextMonth = 0
   nextYear++
}
if (
   (check.getFullYear() == nextYear) &&
   (check.getMonth() == nextMonth)
) {
   // any day in next month. Doesn't include current month remaining days.
}

var now = new Date()
now.setHours(12)
now.setMinutes(0)
now.setSeconds(0)
now.setMilliseconds(0)
var end_of_week = new Date(now.getTime() + (6 - now.getDay()) * 24*60*60*1000 )
end_of_week.setHours(23)
end_of_week.setMinutes(59)
end_of_week.setSeconds(59) // gee, bye-bye leap second
if ( check >=now && check <= end_of_week) {
   // between now and end of week
}

【讨论】:

  • 有什么方法可以检查检查日期是否在本周剩余的几天内?
  • 是的。获取当前时间,添加最大星期几 (6) 和当前日期之间的差异,并使用这个新的周末结束时间进行检查。
  • 我认为您需要使用它来确定一周的开始日期:` var date = new Date(); var now = new Date(date.getFullYear(), date.getMonth(), date.getDate() - date.getDay()); `
【解决方案2】:

使用解析日期的代码是

var selecteddate = '07/29/1990';
var datestr = selecteddate.split('/');

var month = datestr[0];
var day = datestr[1]; 
var year = datestr[2];

var currentdate = new Date();
var cur_month = currentdate.getMonth() + 1;
var cur_day =currentdate.getDate();
var cur_year =currentdate.getFullYear();

if(cur_month==month && day >= cur_day)
{
 alert("in this month");
}

   else
   {
  alert("not in this month");
   }    ​

【讨论】:

    猜你喜欢
    • 2015-05-17
    • 2018-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多