#angularjs #json #datetime
#angularjs #json #дата и время
Вопрос:
У меня есть Datetime в моей sqldb, когда я извлекаю данные из базы данных с использованием формата Json, я получаю Datetime как «/ Date (820434600000) /»
Здесь у меня есть некоторый код, который я скопировал из stackoverflow, но не работает, пожалуйста, направьте меня
app.filter("DateFilter", function () {
var re = //Date(([0-9]*))//;
return function (x) {
var m = x.match(re);
if (m) return new Date(parseInt(m[1]));
else return null;
};
});
<td>{{eee.DataofJoin | DateFilter | date: 'yyyy-MM-dd HH:mm'}}</td>
Комментарии:
1. каков формат вашей строки даты?
2. в моей sqltable у меня есть формат даты и времени
3. я думаю, что фильтр angular date справится с этим, нет необходимости добавлять дополнительный фильтр
4. я получаю сообщение об ошибке как «Ошибка angular.js:13642: [$injector: unpr] Неизвестный поставщик: jsDateFilterProvider <- jsDateFilter»
Ответ №1:
Итак, вы получаете из базы данных экземпляр объекта Date, поэтому, если вы привязываете дату к новой дате, полученной из базы данных, следующим образом:
$scope.date = new Date(820434600000);
(в результате получится «1995-12-31T18:30:00.000Z») и с помощью угловых фильтров для даты вы можете отображать в любом желаемом формате;
В HTML вы делаете это:
<p>{{date | date: 'yyyy-MM-dd HH:mm'}}</p>
Это приведет к отображению
1995-12-31 20:30
Angular позаботится об этом с помощью встроенных фильтров, нет необходимости в пользовательских. Хотя это не лучшая практика, попробуйте использовать только временную метку, хранящуюся в БД.
Комментарии:
1. Динка Адриан я хочу применить его к своей таблице не в одном столбце, я уже написал код на контроллере, как упоминалось выше
2. Вы тот, кто хранит данные в БД? или вы просто используете его так, как сейчас?