UNPKG

@betha-plataforma/estrutura-componentes

Version:

Coleção de Web Components para compor a estrutura de uma aplicação front-end da Betha Sistemas.

36 lines (35 loc) 1.19 kB
import { isNill } from './functions'; /** * Retorna de forma textual a data e hora relativa ao tempo atual * * @param dateTime Data e hora no formato EPOCH (1588008762990) ou ISO string (Ex: 2020-04-22T17:03:28) */ export function getDataHoraDescrita(dateTime) { if (isNill(dateTime)) { throw Error('A data e hora deve ser informada'); } const data = new Date(dateTime); const dataAgora = new Date(); const minutos = getDiferencaEmMinutos(data, dataAgora); // Menos de 1 minuto if (minutos < 1) { return 'agora há pouco'; } // Menos de uma hora if (minutos < 60) { return 'há ' + minutos + ' minuto' + (minutos > 1 ? 's' : ''); } // Menos de 24 horas if (minutos < 1440) { const horas = Math.trunc(minutos / 60); return 'há ' + horas + ' hora' + (horas > 1 ? 's' : ''); } // Mais de 24 horas return formatarData(data) + ' às ' + data.toTimeString().substring(0, 5); } function formatarData(data) { return data.toLocaleString('pt-BR').substring(0, 10); } function getDiferencaEmMinutos(dataA, dataB) { return Math.floor((dataB.getTime() - dataA.getTime()) / (60 * 1000)); }