以正确的语言环境格式显示时间选择器
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.localeData
和 longDateFormat
方法来获取有关时间格式的区域设置特定信息。然后您可以测试格式是否包含 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>
这可能需要针对其他语言环境进行进一步测试。
我正在使用 Bootstrap daterangepicker。 Moment JS 用于设置日期格式等的语言环境
我想显示基于 Moment JS 语言环境的时间选择器。 daterangepicker在初始化时有个参数用来设置picker格式(12h/24h)
timePicker24Hour: true (or false/no parameter for 12h format)
如何从 Moment JS 获取有关时间格式的语言环境信息? 然后我可以在 init 上设置正确的时间选择器类型。
您可以使用 moment.localeData
和 longDateFormat
方法来获取有关时间格式的区域设置特定信息。然后您可以测试格式是否包含 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>
这可能需要针对其他语言环境进行进一步测试。