0

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

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

timePicker24Hour: true (或 false/12h 格式无参数)

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

4

1 回答 1

1

您可以使用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>

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

于 2017-05-24T08:13:18.207 回答