var month = [ 'Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro' ] var week = new Array('Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado'); var weekV = new Array('Do', 'Seg', 'Terç', 'Qua', 'Qui', 'Sex', 'Sáb'); class momentG { static run(date, formate , wgs){ if(typeof date.getMonth != 'function') { date = new Date(date) if(! date instanceof Date){ throw new UserException('Invalid date formate momentG'); } } let toChange = {} var e = { d : (date.getDate()).toString() , M : (date.getMonth()).toString() , ss : (date.getSeconds().toString()).padStart(2,"0"), mm : (date.getMinutes().toString()).padStart(2,"0") , dd : (date.getDate()).toString().padStart(2,"0") , MM : (date.getMonth()+1).toString().padStart(2,"0"), HH : date.getHours().toString().padStart(2,"0"), yy: date.getFullYear().toString().slice(2,4).padStart(2,"0") , EEEE : week[date.getDay()].padStart(2,"0") , EEEEV : weekV[date.getDay()].padStart(2,"0") , MMMM : month[date.getMonth()], yyyy : date.getFullYear() , } Object.keys(e).reverse().forEach((element, index) => { toChange[index] = e[element]; var reg = new RegExp(element,'g') formate = formate.replace(reg, `___${index}___` ) }); for (var index in toChange) { var reg = new RegExp(`___${index}___`,'g') formate = formate.replace(reg, toChange[index] ) } return formate } } module.exports = { momentG: momentG.run };