У меня есть вывод JSON, который отображает дату:
"event_start": "2015-12-20 10:00:00",
"event_end": "2015-12-20 12:00:00",
Когда я привожу эти данные через angular.js, он отображается как таковой, но я хотел бы стилизовать его с помощью CSS с раздельными месяцами, днями и годами. Возможно ли это?
v = "2015-12-20 10:00:00";
a = v.split(' ');
b = a[0].split('-');
str = '<span class="year">' + b[0] + '</span>-' + '<span class="month">' + b[1] + '</span>-' + '<span class="day">' + b[2] + '</span>';
document.getElementById("t").innerHTML = str;
.year{color:red}
.day{color:blue}
<div id="t" ></div>
Я рекомендую использовать momentjs, а затем фильтр угловой даты. Так что где-то в вашем контроллере или службе сделайте это.
var data.event_start = moment(data.event_start, 'YYYY-MM-DD HH:MM:SS');
затем в html
<span ng-bind="vm.data.event_start | 'mediumDate'"></span>
и измените mediumDate на то, что соответствует вашим потребностям, ссылаясь на эту страницу. https://docs.angularjs.org/api/ng/filter/date
С несколькими незначительными исключениями, которые здесь не применяются, CSS может только стилизовать элементы, а не произвольные биты текста.
Напишите свой JavaScript, чтобы разделить дату вверх (вы, вероятно, захотите добавить информацию о часовом поясе и запустить ее через Date()
) и поместить каждый сегмент в другой элемент HTML.
Затем создайте каждый элемент по желанию.