4

我只想使用 jQuery datepicker 来解析和格式化日期,但在我的实际页面上我不想实现任何 datepicker。

现在,我设置了 datepicker 默认值,例如

$.datepicker.setDefaults($.datepicker.regional["de-DE"]);

现在我的问题是,如何在没有任何 datepicker 对象的情况下读取这种默认日期格式?想到类似...

$.datepicker.getDefaults('dateFormat');

...返回字符串“dd.MM.yyyy” - 可能吗?

4

3 回答 3

3

当前默认值存储在 中$.datepicker._defaults,至少在 JQuery UI 1.11 中。当然,由于这是一个未记录的内部变量,它可能会发生变化。

或者,存储一个单独的变量region来保存区域值。当您调用时setDefaults,还要存储region

var region="de-DE";
$.datepicker.setDefaults($.datepicker.regional[region]);

然后您可以使用$.datepicker.regional[region].dateFormat等查询值。

于 2014-06-30T13:07:38.370 回答
1

我真的不认为这是一个好的答案,但这是我找到解决问题的方法。我正在将当前(默认)区域设置复制到另一个索引 - ["local"],并在我需要的任何地方使用它。

如果有人有更好的方法,请随时发布答案。

在页面加载时:

$(function () {
    // Default locale = en-GB
    $.datepicker.setDefaults($.datepicker.regional["en-GB"]);

    // Copying to a new index = local
    $.datepicker.regional["local"] = $.datepicker.regional["en-GB"];
});

当我需要参考任何设置时:

var month = $.datepicker.regional["local"].monthNames[myMonth];

或者

var month = $.datepicker.regional.local.monthNames[myMonth];
于 2013-05-21T13:19:26.137 回答
0

嗨,你可以像这样得到它`

$('#datepicker').datepicker({
        beforeShowDay  : function( date ) {
            var monthsArr = $(this).datepicker('option', 'monthNamesShort');
            console.log( monthsArr );
        }
});
于 2016-11-10T11:50:49.397 回答