【问题标题】:Display timepicker in correct locale format以正确的语言环境格式显示时间选择器
【发布时间】:2017-10-24 06:46:02
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: jquery twitter-bootstrap momentjs bootstrap-daterangepicker


    【解决方案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>

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

    【讨论】:

    • 谢谢,这实际上是一种非常简洁的方法。从来没有想过分解格式字符串。
    • 希望这些字符串不会很快改变 :)
    猜你喜欢
    • 2010-09-10
    • 2020-07-10
    • 2021-09-26
    • 1970-01-01
    • 2019-12-07
    • 2017-01-29
    • 2016-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多