【问题标题】:Flatpickr - Date changes automatically to american version instead of UK Format.Flatpickr - 日期自动更改为美国版本而不是英国格式。
【发布时间】:2017-03-01 17:01:14
【问题描述】:

我正在使用平面选择器,输入的日期如下:

1991 年 1 月 2 日(1991 年第 1 天/二月/年。

但是,当我添加类 flatpickr 时,它会将日期转换为:

02/01/1991

日期的美国版本。

我认为我可以通过执行以下代码轻松解决此问题:

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'。

其他人可以在这里发现我做错了什么吗?

非常感谢

【问题讨论】:

    标签: javascript flatpickr


    【解决方案1】:

    您需要一个自定义日期解析器。因为d.m.y 不是标准日期格式。 在 flatpickr() 之前添加下面这段代码,它需要 moment.js

    Flatpickr.defaultConfig.parseDate = function(str) {
        return moment.utc(str, "DD.MM.YYYY").toDate();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-30
      • 1970-01-01
      相关资源
      最近更新 更多