formatDate(date: Date | null, format?: string): string { const d = date || new Date(); let f = format || 'yyyy-MM-dd mm:ss'; const mapping = { 'M+': d.getMonth() + 1, 'd+': d.getDate(), 'h+': d.getHours(), 'm+': d.getMinutes(), 's+': d.getSeconds(), 'q+': Math.floor((d.getMonth() + 3) / 3), 'S+': d.getMilliseconds(), }; if (/(y+)/i.test(f)) { f = f.replace(RegExp.$1, d.getFullYear().toString().substr(4 - RegExp.$1.length)); } for (const k in mapping) { if (new RegExp(`(${k})`).test(f)) { const n = RegExp.$1.length === 1 ? mapping[k] : ('00' + mapping[k]).substr(mapping[k].toString().length); f = f.replace(RegExp.$1, n); } } return f; }
|