2017-03-01 106 views
0

我使用平板pickr和被給予輸入的日期將是這樣:Flatpickr - 日期自動更改爲美國版本而不是英國格式。

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

然而,當我想補充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」。

其他人可以發現我在做什麼錯嗎?

非常感謝

回答

0

您需要一個自定義日期解析器。因爲d.m.y不是標準的日期格式。 之前flatpickr()添加下面的代碼,它需要moment.js

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