以正确的语言环境格式显示时间选择器

Display timepicker in correct locale format

我正在使用 Bootstrap daterangepicker。 Moment JS 用于设置日期格式等的语言环境

我想显示基于 Moment JS 语言环境的时间选择器。 daterangepicker在初始化时有个参数用来设置picker格式(12h/24h)

timePicker24Hour: true (or false/no parameter for 12h format)

如何从 Moment JS 获取有关时间格式的语言环境信息? 然后我可以在 init 上设置正确的时间选择器类型。

您可以使用 moment.localeDatalongDateFormat 方法来获取有关时间格式的区域设置特定信息。然后您可以测试格式是否包含 HH(24 小时)令牌。

这里是一个活生生的例子:

function is24Hour(locale){
  var localeData = moment.localeData(locale);
  var hourFormat = localeData.longDateFormat('LT');
  return hourFormat.includes('HH');
}

console.log( is24Hour('en') );
console.log( is24Hour('it') );
console.log( is24Hour('fr') );
console.log( is24Hour('de') );
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment-with-locales.min.js"></script>

这可能需要针对其他语言环境进行进一步测试。