如何检查所选日期是否是本月

问题描述 投票:2回答:3

如何验证在datepicker中选择的日期是否与当前月份相同。我试过以下但是没有用。请帮我。谢谢

$('#thedate').datepicker({
  minDate: 0
});

$('#checkDate').bind('click', function() {
  var selectedDate = $('#thedate').datepicker('getDate');
  var today = new Date();
  today.setHours(0);
  today.setMinutes(0);
  today.setSeconds(0);
  if (Date.parse(today) == Date.parse(selectedDate)) {
    alert('This month');
  } else {
    alert('Not this month');
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>

Date: <input type="text" id="thedate">
<button id="checkDate">Check this month or not</button>
javascript jquery datepicker jquery-ui-datepicker
3个回答
2
投票
  1. 使用匹配月份值。 new Date().getMonth()
  2. 对于一日比赛new Date().getDate()

更新了http://jsfiddle.net/9y36pq85/

   $('#thedate').datepicker({minDate:0});

$('#checkDate').bind('click', function() {
    var selectedDate = $('#thedate').datepicker('getDate');
    var d= new Date(selectedDate);
    var today = new Date();
    if (d.getMonth() == today.getMonth()) {
        alert('this month');
    } else {
        alert('Not this  month');
    }
    alert(d.getDate() == today.getDate() ?'today':'not today')
});

0
投票

$('#thedate').datepicker({minDate:0});

$('#checkDate').bind('click', function() {
    var selectedDate = $('#thedate').datepicker('getDate');
    
    var current = moment(selectedDate);
    if (moment().month()== current.month()) {
        alert('this month');
    } else {
        alert('Not this  month');
    }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  
Date: <input type="text" id="thedate"/>

<button id="checkDate">Check this month or not</button>

你可以这样使用momentjs的month()函数

$('#thedate').datepicker({minDate:0});

$('#checkDate').bind('click', function() {
    var selectedDate = $('#thedate').datepicker('getDate');

    var current = moment(selectedDate);
    if (moment().month()== current.month()) {
        alert('this month');
    } else {
        alert('Not this  month');
    }
});

http://jsfiddle.net/viethien/47odqehb/4/


0
投票

您可以使用Date对象的getMonthgetYear方法,并比较2。

就像是

$('#checkDate').bind('click', function() {
    var selectedDate = $('#thedate').datepicker('getDate');
    var today = new Date();
    if (today.getYear() === selectedDate.getYear() && today.getMonth() === selectedDate.getMonth()) {
        alert('this month');
    } else {
        alert('Not this  month');
    }
});
© www.soinside.com 2019 - 2024. All rights reserved.