【问题标题】:How to get date, month, year in jQuery UI datepicker?如何在 jQuery UI 日期选择器中获取日期、月份、年份?
【发布时间】:2013-04-17 16:09:36
【问题描述】:

我有这个示例代码:

<div id="calendar"></div>
$(document).ready(function()  {
    $('#calendar').datepicker({
      dateFormat: 'yy-m-d',
      inline: true,
      onSelect: function(dateText, inst) { 
            var month = dateText.getUTCMonth();
            var day = dateText.getUTCDate();
            var year = dateText.getUTCFullYear();
            alert(day+month+year);
     } 
    });
});

当我运行代码时,出现错误。如何获得这个(date, month, year)

【问题讨论】:

标签: jquery jquery-ui datepicker


【解决方案1】:

您可以使用方法getDate()

$('#calendar').datepicker({
    dateFormat: 'yy-m-d',
    inline: true,
    onSelect: function(dateText, inst) { 
        var date = $(this).datepicker('getDate'),
            day  = date.getDate(),  
            month = date.getMonth() + 1,              
            year =  date.getFullYear();
        alert(day + '-' + month + '-' + year);
    }
});

FIDDLE

【讨论】:

  • 你为什么在 date.getMonth() + 1 中 + 1?你能解释一下吗?谢谢
  • 月份是0..11,需要翻译成1..12
  • 干得好@Eli,我在过去 15 分钟内一直在寻找这个解决方案。它真的对我有帮助。但是我在这里有一个困惑,日,月,年没有类型。变量的类型是什么。
【解决方案2】:

您好,您可以尝试查看此jsFiddle

我使用了这个代码:

var day = $(this).datepicker('getDate').getDate();  
var month = $(this).datepicker('getDate').getMonth();  
var year = $(this).datepicker('getDate').getYear();  

我希望这会有所帮助。

【讨论】:

【解决方案3】:

使用 javascript Date 对象。

$(document).ready(function()  {
    $('#calendar').datepicker({
      dateFormat: 'yy-m-d',
      inline: true,
      onSelect: function(dateText, inst) { 
            var date = new Date(dateText);
            // change date.GetDay() to date.GetDate()
            alert(date.getDate() + date.getMonth() + date.getFullYear());
     } 
    });
});

【讨论】:

    【解决方案4】:

    那么简单的方法呢)

    $(document).ready ->
     $('#datepicker').datepicker( dateFormat: 'yy-mm-dd',  onSelect: (dateStr) ->
        alert dateStr # yy-mm-dd
        #OR
        alert $("#datepicker").val(); # yy-mm-dd
    

    【讨论】:

      【解决方案5】:
      $("#date").datepicker('getDate').getMonth() + 1;

      日期选择器上的月份是从 0 开始的 (0-11),所以加 1 即可得到日期中出现的月份。

      【讨论】:

        猜你喜欢
        • 2021-10-29
        • 1970-01-01
        • 2018-09-04
        • 1970-01-01
        • 2016-08-24
        • 1970-01-01
        • 2021-12-16
        • 1970-01-01
        • 2012-01-08
        相关资源
        最近更新 更多