InputMask js отображает дату бэкэнда - PullRequest
1 голос
/ 10 апреля 2019

Я использую InputMask js (версия 4.x) для форматирования даты / времени.

Я пытаюсь отформатировать внутреннюю дату, которая выглядит следующим образом: 2018-03-23T00: 00: 00,000 + 01: 00 и хочу отобразить это так: yyyy.mm.dd

Я попытался установить для атрибута inputFormat значение 'yyyy.mm.dd', но он не работает. Вместо этого, похоже, работает с mm.dd.yyyy, но я бы хотел отобразить эту дату в разных форматах.

Вот код:

(function($){


  $('input').val(new Date('2018-03-23T00:00:00.000+01:00').toLocaleDateString());

  $('input').inputmask("datetime",{
    inputFormat: 'yyyy.mm.dd'
  });


})(jQuery)

И JSFiddle: https://jsfiddle.net/zq46eg90/8/

Я ожидаю, что здесь будет отображаться «2018.03.23», но фактический результат - это нечто другое (3232.01.08)

Ответы [ 2 ]

0 голосов
/ 10 апреля 2019

Попробуйте использовать lt-LT локаль. (больше локалей)

$('input').val(new Date('2018-03-23T00:00:00.000+01:00').toLocaleDateString('lt-LT'));
0 голосов
/ 10 апреля 2019

Вы можете использовать моменты для вашего случая.

(function($){

  var date = moment(new Date('2018-03-23T00:00:00.000+01:00').toLocaleDateString());
  $('input').val(date.format('YYYY.MM.DD'));

  $('input').inputmask("datetime",{
    inputFormat: 'yyyy.mm.dd'
  });


})(jQuery)

См. Демонстрацию https://jsfiddle.net/viethien/qLgsob41/3/

...