Bootstrap DateTimePicker本地化是en-us,即使我指定了en-gb

时间:2019-07-10 15:07:32

标签: javascript

此刻,我正在项目中使用http://eonasdan.github.io/bootstrap-datetimepicker/Options/#usecurrent中的DateTimePicker。我有两个日期字段(开始和结束日期),我想以当前用户区域设置的格式显示日期。

在Chrome中,我使用的插件可让我指定我将其设置为en-GB的Accept-Language标头。 ASP.NET Core可以很好地解决这个问题,但是如果我在Javascript中使用以下函数,则它会输出en-US,我觉得这很奇怪,为什么会有所不同,这可能是造成我问题的原因吗? / p>

function getLang()
        {
         if (navigator.languages != undefined) 
         return navigator.languages[0]; 
         else 
         return navigator.language;
        }

问题是DateTimePicker,当您选择一个日期以mm-dd-yyyy的美国格式而不是dd-mm-yyyy的英国格式在字段中呈现日期格式时。这是我注册日期选择器的方式;

$('#StartDate').datetimepicker({
                format: 'L',
                useCurrent: true,
                locale: 'en-gb',
                icons: {
                    next: "fas fa-angle-right",
                    previous: "fas fa-angle-left"
                }
            }); 

在datepicker表单字段中,我的日期为10/07/2019(2019年7月10日),当我关注datepicker字段时,日历在10月而不是7月打开。

为什么datetimepicker插件会忽略我要求使用en-gb而不是en-us格式的日期?

我在Jsfiddle http://jsfiddle.net/rcq9zLe7/3/上做了一个简单的例子。当我单击日期字段时,出现的日历显示的是10月而不是7月。

1 个答案:

答案 0 :(得分:0)

我设法解决了这个问题。我只是在项目中加入了moment.js,要使用语言环境,您必须改为包含moment/min/moment-with-locales.min.js