Flatpickr - 日期自动更改为美国版本而非英国格式。

时间:2017-03-01 17:01:14

标签: javascript flatpickr

我正在使用平板选择器,输入的日期将是这样的:

  

01/02/1991(第1天/ 2月/ 1991年。

然而,当我添加class flatpickr时,它会将日期转换为:

  

1991年2月1日

日期的美国版本。

我认为我可以通过以下代码轻松解决这个问题:

init() {
    let flatPicker = document.querySelector('.flatpickr')

    if (flatPicker) {
        flatPickr.l10ns.default.weekdays.shorthand = ['S', 'M', 'T', 'W', 'T', 'F', 'S']

        new flatPickr(flatPicker,
            {
                nextArrow: '<svg class="icon icon-arrow-right"><use xlink:href="/dist/assets/svg-definition/symbol-defs.svg#icon-arrow-right"></use></svg>',
                prevArrow: '<svg class="icon icon-arrow-left"><use xlink:href="/dist/assets/svg-definition/symbol-defs.svg#icon-arrow-left"></use></svg>',

                // Date format
                altInput: true,
                altFormat: 'd-m-Y',

                // Default Date
                dateFormat: 'd-m-Y'
            }
        );
    }
}

我认为重要的一点是dateFormat:'d-m-Y'。

其他人能否发现我在这里做错了什么?

非常感谢

1 个答案:

答案 0 :(得分:1)

您需要一个自定义日期解析器。因为def find_params params.require(:find).permit(:search_term, :search_type) end 不是标准日期格式。 在flatpickr()之前添加以下代码,它需要moment.js

d.m.y