4

是否可以使用 globalize 插件(https://github.com/jquery/globalize)本地化 jquery 数据选择器?

我试过这样

// get a date format 
var dt = Globalize.culture().calendar.patterns.d;
$('#dp1').datepicker({
    dateFormat : dt
});

但它不起作用,因为 datepicker 和 globalize 插件使用两种不同的格式。

我想要日期为月份 2 位,日期为 2 位,年份为 4 位,因此在 jquery 中,日期格式必须为“dd/mm/yy”。但是 globalize 使用不同的日期格式:en-Us -> M/d/yyyy it-IT -> dd/MM/yyyy

4

3 回答 3

5

小型转换器:

Globalize.getPatternForDatapicker = function (pattern) {
    return this.culture().calendar.patterns[pattern || 'd'].toLowerCase().replace('yyyy', 'yy');
};

$('#dp1').datepicker({dateFormat : Globalize.getPatternForDatapicker()});
于 2012-12-25T16:40:41.243 回答
1

在Globalize (当时称为 jQuery Globalize)的早期,有专门的 Datepicker 补丁版本可用。
坦率地说,我认为它不再可用,但您可以尝试对当前版本应用相同的修改,问题就会得到解决。这可以通过许多类 Unix 系统(例如在 Windows 上通过 Cygwin)可用的 diff 命令来完成。


编辑:API

我认为至少值得一提的是,Datepicker 提供了丰富的API
您可以使用来定制 Datepicker 的本地化。但是,当涉及到日期格式时,恐怕您将被迫使用一些替换来从年份字段中删除“过多”的 y。这是我不想做的事情,而是我会修补 Datepicker,如前所述,但是......

于 2012-10-31T18:49:41.570 回答
0

我遇到了这两种格式差异的许多问题。最后 jQuery 人回复我,他们会使用 Globalize 格式。但是,当... :(

于 2014-05-20T12:19:18.860 回答