Каков правильный способ использовать moment.js для обработки дат php в представлении?

Я хочу отобразить дату и время в тексте, и мне нравится средство форматирования moment.js. Я использую php, чтобы отобразить текущую дату, но не нашел хорошего форматера времени назад, поэтому я хочу использовать moment.js.

Я думал о повторении {12345678} как метка времени unix на моей html-странице, а затем с помощью jquery заменить каждый токен после форматирования с помощью moment.js. fromNow() функция для документа.

Это хорошее решение? Если это так, как я могу перебрать все токены, обработать даты, а затем заменить содержимое?

Я прочитал о том, как использовать replaceWith() а также replace, но они не позволяют мне обрабатывать токен.

Это может быть далеким подходом, так как может быть простой помощник форматера PHP-времени назад …

Есть идеи?

2

Решение

Так….

Вот мое решение.

JS:

// time formatter
$( "[data-time-format]" ).each(function() {
var el = $( this );
switch(el.attr("data-time-format")) {
case "time-ago":
var timeValue = el.attr("data-time-value")
var strTimeAgo = moment.unix(timeValue).fromNow();
el.text(strTimeAgo);
break;
}
});

HTML:

<span data-time-format="time-ago" data-time-value="{UNIX TIMESTAMP}"></span>

Этот фрагмент кода Js проходит по всем элементам с атрибутом «data-time-format», а затем использует оператор switch для обработки. Я использую переключатель, так как я буду использовать этот атрибут данных для другой обработки меток времени, поэтому мне нужна гибкость.

Js должны быть размещены в document.ready.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]