【问题标题】:Bootstrap DateTimePicker localisation is en-us even though I am specifying en-gb即使我指定的是 en-gb,Bootstrap DateTimePicker 本地化也是 en-us
【发布时间】:2019-07-10 15:07:32
【问题描述】:

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

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

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 月。

【问题讨论】:

标签: javascript


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-05
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 2018-05-03
    • 1970-01-01
    相关资源
    最近更新 更多