Tengo una cadena de fecha como "2022-05-19T14:44:18.887Z" . Estoy creando un sitio web de blog en reaccionar, solo quiero mostrar la antigüedad de la publicación. así que quiero mostrar la hora, por ejemplo, 2 min ago 2 hrs ago 10 hrs ago 1 day ago 5 days ago 6 days ago . cuando Tan pronto como la publicación cumpla 7 days old , debería mostrar el mes y el año de esa publicación, como May 22 . Todas las cosas deben ser automáticamente. Para esto he usado la biblioteca de momentos. Pero no puedo implementarlo. Por favor, alguien me puede ayudar en esto.
Por favor, prueba estas cosas
import moment from 'moment'; export const _convertTimeHumanReadable = (date) => { if (!date) return ''; const segs = date.split(' '); if (segs.length > 1) { date = segs[0] + 'T' + segs[1]; } const data = moment(date); const now = moment(); let result = ''; if (data.format('YYYY') !== now.format('YYYY')) { result = result + data.format('YYYY'); } result = result + data.format('M/DD'); return result; }; export const convertTimeHumanReadable = (date) => { if (!date) return ''; const now = moment(); const data = moment(date); const duration = moment.duration(data.diff(now)) if (duration.days() < -1) { return _convertTimeHumanReadable(date); } return duration.humanize(true); } Este código humaniza el formato de fecha hasta hace 1 día y si puede cambiar -1 a -7 , entonces humaniza hasta hace 7 días
if (duration.days() < -1) {