如何在 jQuery UI 日期选择器中获取日期、月份、年份?

Posted

技术标签:

【中文标题】如何在 jQuery UI 日期选择器中获取日期、月份、年份?【英文标题】:How to get date, month, year in jQuery UI datepicker? 【发布时间】: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)

【问题讨论】:

可能类似于this question 【参考方案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();  

我希望这会有所帮助。

【讨论】:

现在在 2015 年,getYear() 方法已被弃用。请改用getFullYear()。 developer.mozilla.org/en-US/docs/Web/javascript/Reference/…【参考方案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 即可得到日期中出现的月份。

【讨论】:

以上是关于如何在 jQuery UI 日期选择器中获取日期、月份、年份?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 jQuery UI 日期选择器中禁用公共假期?

在 jQuery UI 日期选择器中在日期旁边显示附加文本

如何在 jQuery 日期选择器中为禁用日期添加工具提示?

在 jQuery UI 日期选择器中格式化日期

我如何在 jquery 日期选择器中制作一个清晰的按钮

从 JQUERY 日期选择器中获取价值