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



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

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

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

问题是日期时间选择器,当您选择一个日期时,在字段中以美国格式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"
}
}); 

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

为什么日期时间选择器插件忽略了我以en-gb格式而不是en-us格式设置日期的请求?

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

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

最新更新