【问题标题】:datetime picker, check is today日期时间选择器,检查是今天
【发布时间】:2017-06-24 09:41:36
【问题描述】:

我正在获取用户输入的jquery datetime picker 格式如下

2017-02-07 10:05

这很好。我的问题是:如何检查该用户今天是否输入?

【问题讨论】:

标签: javascript jquery


【解决方案1】:

question 获得建议后,您可以这样做。首先为todaytest date 设置日期constructor,然后将它们的时间部分设置为等于zero 并进行比较。

还有其他很酷的插件可以更轻松、更准确地实现相同的功能,例如dateJsmomentJs

使用 momentJs

var inputDate = new Date("2017-02-07 10:05");

var isToday = inputDate.isSame(new Date(), "day");

使用 dateJs

var isToday = Date.equals(Date.today(), new Date("2017-02-07 10:05").clearTime());

使用原生 JavaScript 日期

var inputDate = new Date("2017-02-07 10:05");

var todaysDate = new Date();

var isToday = (inputDate.setHours(0, 0, 0, 0) == todaysDate.setHours(0, 0, 0, 0));

console.log(isToday);

【讨论】:

    【解决方案2】:

    最简单的方法...

    var date = new Date('2017-02-07 10:05');
    var now = new Date();
    console.log(now.toString().substring(4, 15) == date.toString().substring(4, 15));

    【讨论】:

      【解决方案3】:

      这样的事情怎么样:

      <html>
      <head>
      </head>
      <body>
      <script>
          var dateString = "2017-02-09 10:05";
          var dateObj = new Date(dateString);
          var ddSomeDate = dateObj.getDate();
          var mmSomeDate = dateObj.getMonth()+1; //January is 0!
          var yyyySomeDate = dateObj.getFullYear();
      
          var dateObjToday = new Date();
          var ddCurrentDate = dateObjToday.getDate();
          var mmCurrentDate = dateObjToday.getMonth()+1; //January is 0!
          var yyyyCurrentDate = dateObjToday.getFullYear();
      
          if (ddSomeDate == ddCurrentDate &&
              mmSomeDate == mmCurrentDate &&
              yyyySomeDate == yyyyCurrentDate)
              console.log("Same day");
          else
              console.log("NOT same day");
      
      </script>
      </body>
      </html>
      

      【讨论】:

        【解决方案4】:

        试试这个用于检查日期是否是今天

        这里是 Jquery 代码

         $('#dp').datepicker({
        onSelect: function(dateText) {
            var today = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate()).getTime();
            var selected = new Date(dateText).getTime();
            if (today > selected) alert('prior to today');
            else if (today < selected) alert('after today');
            else alert('today');
        }
        });​
        

        还有我的html代码

          <input id="dp"/>
        

        在这里演示 http://jsfiddle.net/j08691/yBDVJ/

        【讨论】:

          【解决方案5】:

          你必须解析日期并使用这个isDateToday函数来检查:

          var date = new Date('2017-02-07 10:05');
          
          var isToday = isDateToday(date);
          
          function isDateToday(td){
              var d = new Date();
              return td.getDate() == d.getDate() && td.getMonth() == d.getMonth() && td.getFullYear() == d.getFullYear();
          }
          

          【讨论】:

            【解决方案6】:

            您可以通过以下方式获取当前的日期-月份-年份:

            var d = new Date();
            var date = d.getDate();
            var month = d.getMonth();
            var year = d.getFullYear();
            

            然后通过这些值匹配用户选择的日期、月份和年份。

            【讨论】:

              【解决方案7】:

              试试这样的:

                  var today = new Date();
                today.setHours(0);
                today.setMinutes(0);
                today.setSeconds(0);
                if (Date.parse(today) == Date.parse(selectedDate)) {
                  alert('today!');
                } else {
                  alert('not today');
                }
              

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2014-09-13
                • 1970-01-01
                • 1970-01-01
                • 2014-09-24
                • 1970-01-01
                • 2023-04-05
                • 2015-10-28
                相关资源
                最近更新 更多