Использование среза Javascript внутри углового выражения

0

Я получаю число, представляющее дату в формате ddmmyy, например.: 250615 Мне нужно преобразовать в этот формат: 25/06/15.

Я не могу использовать фильтр угловой даты, потому что получаю номер.

Я пытаюсь использовать срез таким образом, но печатаю только первый номер

{{uniqueitem.Dia.slice(0,2)}} {{singularitem.Dia.slice(2,2)}} {{uniqueitem.Dia.slice(-2, 2)}}

Как это можно сделать?

Заранее спасибо

Теги:
ionic

3 ответа

1
Лучший ответ

Поскольку вы не можете использовать фильтр date, просто создайте свой собственный фильтр, делая все, что вы хотите:

app.filter('transformDate', function() {
  return function(date) {
    // Split string at every second character and combine them again with a '/' in between
    return date.match(/.{1,2}/g).join('/');
  }
})

Применение:

{{date | transformDate}}

Plunker: http://plnkr.co/edit/uBeT0eHOoAlHDUWydOpM?p=preview

  • 0
    Спасибо Numyx работа мне подходит! это первый раз, когда я создаю и angularjs фильтр.
1

Slice - это прототип функции Strings and Arrays, а не числа. Сначала вам нужно преобразовать свой номер в строку.

Если вы хотите преобразовать это число в объект даты, вам понадобится:

function parseDate(dateAsNumber) {
  var dateAsString = "" + dateAsNumber;
  var day = Number(dateAsString.substr(0, 2));
  //months are index 0
  var month = Number(dateAsString.substr(2,2)) - 1; 
  //assumming all dates are 2000+ since you only get 2 digits
  var year = Number(dateAsString.substr(4,2)) + 2000; 

  var date = new Date(year, month, day);
  return date;
}

Вызов parseDate (250615) возвращается Чт 25 июня 2015 00:00:00 GMT-0700 (Pacific Daylight Time)

  • 0
    Спасибо Ив, мне очень помогает.
1

Вы можете использовать функцию ванильного javascript. Если ваш формат всегда равен dd/mm/yy, проверьте эту функцию:

(function () {
    var date = "250615";
    date = date.slice(0, 2) + "/" + date.slice(2,4) + "/" + date.slice(4,6);
    console.log(date);
})()

FIDDLE

  • 1
    var date = 250615 + "" Так как он получает номер
  • 0
    Спасибо, Майки, у меня все хорошо.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню