【问题标题】:Change datepicker date format in beforeShowDay function在 beforeShowDay 函数中更改 datepicker 日期格式
【发布时间】:2013-06-16 20:13:25
【问题描述】:

我正在使用 beforeShowDay 函数来突出显示与 MySQL 查询“已使用”日期匹配的日期。

我的日期选择器设置如下:

dp = jQuery( "#datepicker" ).datepicker(
                                { 
                                    minDate: +1, 
    maxDate: "+1M",
    dateFormat: 'yyyy-mm-dd',
    beforeShowDay: function(date) {
                                                          q = q_dates[date];
                                                    }
                                                }
                                                );

问题在于 DATE 的值如下所示:Mon May 27 2013 00:00:00 GMT+0700 (SE Asia Standard Time)

我已尝试设置 dateFormat。还尝试了 date.toString('yyyy-mm-dd') 认为它会像 Javascript 日期对象一样工作。

如何将 DATE 转换为 yyyy-mm-dd 格式?

【问题讨论】:

    标签: javascript jquery-ui-datepicker


    【解决方案1】:

    如何使用Date.js 插件。查看他们的documentation

    也可以试试下面的代码:

    date.getFullYear() + "-" + date.getMonth() + "-" + date.getDate() ;
    

    编辑:

    对于 2 位数的日期和月份,我建议看看这个 SO question

    var date = new Date("Mon May 27 2013 00:00:00 GMT+0700 (SE Asia Standard Time)");
    
    alert(date.getFullYear() + "-" + ("0" + (date.getMonth() + 1)).slice(-2) + "-" + ("0" + date.getDate()).slice(-2) );
    

    【讨论】:

    • 感谢您的建议。我在某处看到了第二个。但是月份和日期必须是 2 位数字格式,我不知道有一种快速而干净的方法来实现这一点。添加另一个插件似乎只是为了在一个地方重新格式化日期。我真的很惊讶没有一个简单的格式化命令可以调用来做到这一点。
    • 谢谢。我正要评论说我在这里找到了类似的解决方案:stackoverflow.com/questions/3605214/…
    • @Lee 通常会发生这种情况,当我们搜索时,我们将无法找到确切的链接。发布问题后,我们将找到答案的确切链接:)
    • 是的,非常正确。有时这几乎是令人尴尬的。
    【解决方案2】:

    不需要任何额外的插件。使用内置 jqueryui formatDate();

    对于所有不同的格式,请查看他们的docs

    为了质量,我会在这里发布所有日期格式

    日期选择器日期格式

    "mm/dd/yy"
    "yy-mm-dd"
    "d M, y"
    "d MM, y"
    "DD, d MM, yy"
    "'day' d 'of' MM 'in the year' yy"
    

    jqueryui

    //return today's date
    $.datepicker.formatDate("yy-mm-dd", $('#datepicker').datepicker("getDate"));
    
    //alternatively you can use this syntax
    jQuery.datepicker.formatDate('yy-mm-dd', 'getDate');
    

    日期选择器

    $('#datepicker').datepicker({
    dateFormat: 'yy-mm-dd',
    changeMonth: true,
    changeYear: true,
    beforeShowDay : function (date){
    
    //format date
    var jquerydate = $.datepicker.formatDate("yy-mm-dd", date);
    
    //alternative syntax
    var jquerydate = jQuery.datepicker.formatDate('yy-mm-dd', date);
    
    }
    
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多