Я получаю число, представляющее дату в формате ddmmyy, например.: 250615 Мне нужно преобразовать в этот формат: 25/06/15.
Я не могу использовать фильтр угловой даты, потому что получаю номер.
Я пытаюсь использовать срез таким образом, но печатаю только первый номер
{{uniqueitem.Dia.slice(0,2)}} {{singularitem.Dia.slice(2,2)}} {{uniqueitem.Dia.slice(-2, 2)}}
Как это можно сделать?
Заранее спасибо
Поскольку вы не можете использовать фильтр 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
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)
Вы можете использовать функцию ванильного javascript. Если ваш формат всегда равен dd/mm/yy, проверьте эту функцию:
(function () {
var date = "250615";
date = date.slice(0, 2) + "/" + date.slice(2,4) + "/" + date.slice(4,6);
console.log(date);
})()