如何从datepicker设置语言环境格式?

如何根据用户的语言环境在jQuery UI的datepicker中设置日期格式?

我得到源html:

 $(function() { $(".datefield2").datepicker($.datepicker.regional['de']); });  

如果在日期选择器中选择日期,我将获得12/21/2012 ,但是我需要21.12.2012

您可以像这样设置日期格式:

  $(".datefield2").datepicker({ "dateFormat": "dd.mm.yy"}); 

使用dateFormat选项更改为自定义格式

 $(function() { $(".datefield2").datepicker($.datepicker.regional['de']); $(".datefield2").datepicker('option','dateFormat','dd.mm.yy'); }); 

真正的问题是您需要手动包含本地化文件。

它们可以在https://github.com/jquery/jquery-ui/tree/master/ui/i18n找到
德语专用的是https://github.com/jquery/jquery-ui/blob/master/ui/i18n/datepicker-de.js

演示( 完全本地化 )可以在http://jsfiddle.net/gaby/h07ny9ep/看到

Web上的JQuery文档似乎可以隐藏和搜索datepicker的i18n文件所在的位置,例如

jQuery UI datepicker的i18n文件在哪里> = 1.11.0

截至发布链接:

https://raw.githubusercontent.com/jquery/jquery-ui/master/ui/i18n/datepicker-de.js

似乎是有效的。 如果我包括它它本身不起作用。 我最终使用的是http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.1/i18n/jquery-ui-i18n.min.js ,这与我使用的1.12 jquery版本不同,但它似乎工作。

请注意我使用iso日期格式2017-03-18作为yy-mm-dd而不是德语语言环境风格。

      jQuery UI Datepicker - Default functionality        

由于似乎没有现成的语言环境信息,我决定使用一种不同的方法:我只使用datepicker来选择日期并从中检索日期,但是为了显示我使用普通的div和Date .toLocaleDateString() 。 这样我就不用费心去检索格式了,或者更糟糕的是 – 自己提供它们。

的jsfiddle

HTML:

 

JS:

 var today = new Date(); today.setHours(0,0,0,0); $("#dt").datepicker({defaultDate: today}).on('change', function() { $("#date-text").html($("#dt").datepicker("getDate").toLocaleDateString()); }); $("#date-text").html(today.toLocaleDateString());