【问题标题】:Issue with getFullYear from datepicker日期选择器中的 getFullYear 问题
【发布时间】:2012-12-06 11:37:08
【问题描述】:

我正在尝试从文本框中的日期检索全年,但如果日期超过 12 天则不会返回(所以我怀疑这是日期格式问题),但我怎样才能让它工作?

   $(function() {
        $("#dateInput").datepicker({
            onSelect: function (dateText) {
                var birthDate = new Date($(this).val()).getFullYear();
                alert(birthDate); 
            },
            dateFormat: 'dd/mm/yy',
            constrainInput: true,
            changeMonth: true,
            changeYear: true,
            defaultDate: new Date()
        });
    });

查看示例:http://jsfiddle.net/5JCRs/12/

谢谢。

【问题讨论】:

    标签: jquery asp.net jquery-ui date jquery-ui-datepicker


    【解决方案1】:

    使用大写的MM 而不是小写的mm,它应该可以工作。所以你的日期格式应该是:

    dateFormat: 'dd/MM/yy',
    

    【讨论】:

      【解决方案2】:

      您可以使用datepicker.parseDate 函数按照指定格式解析日期

      $.datepicker.parseDate(format, value, settings) - 提取日期 从具有指定格式的字符串值。

      onSelect 函数必须改为:

      onSelect: function(dateText, inst) {
          var date = $.datepicker.parseDate(
              inst.settings.dateFormat || $.datepicker._defaults.dateFormat,
              dateText,
              inst.settings
          );
          alert(date.getFullYear());
      }
      

      datepicker.parseDate 函数需要第一个参数中的日期格式。提供此值的最佳方式是使用明确指定的日期格式或回退到默认日期格式。

      Demo here

      【讨论】:

        【解决方案3】:

        dateFormat 选项值设置为'yy':

        $( "#dateInput" ).datepicker({ dateFormat: "yy" });
        

        或者,如果您使用的是regional 设置:

        $.datepicker.regional["it"] = {
            //...
            , dateFormat: "yy"
            //...
        }
        

        参考here

        【讨论】:

          【解决方案4】:

          这只是 JQuery 和 Javascript 中日期格式的区别。在 javascript 中,当您向 new Date(dateString) 提供 dateString 时,可能的日期格式是

          MM-dd-yyyy
          yyyy/MM/dd
          MM/dd/yyyy
          MMMM dd, yyyy
          MMM dd, yyyy
          

          您可以为 JQuery 提供 dateFormat: 'mm/dd/yy' 然后它会起作用,这相当于 javascript 中的 MM/dd/yyyy。

          【讨论】:

            猜你喜欢
            • 2011-10-20
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-01-02
            • 1970-01-01
            相关资源
            最近更新 更多