UNPKG

fenzhi-utils

Version:

分值前端项目的js函数库

66 lines (63 loc) 2.57 kB
/** * 格式化时间 * @param {string,date} date 时间 * @param {string} fmt 指定的格式化格式 * @returns {string} '' */ /* 下面是测试用例 CustomDateFtt(1565059668200,"yyyy-MM-dd hh:mm:ss");// '2019-08-06 10:47:48' CustomDateFtt(1565059668200,"yyyy-MM-dd");// '2019-08-06' CustomDateFtt('2022-02-14T13:30:00.000Z',"yyyy-MM-dd");// '2019-08-06' CustomDateFtt(new Date(),"yyyy-MM-dd");// '2019-08-06' CustomDateFtt(new Date('2022-01-01'),"yyyy-MM-dd");// '2022-01-01' CustomDateFtt(null, 'yyyy-MM-dd hh:mm:ss');// '' CustomDateFtt(undefined, 'yyyy-MM-dd hh:mm:ss');// '' CustomDateFtt('', 'yyyy-MM-dd hh:mm:ss');// '' CustomDateFtt('2022-01-01', 'yyyy-MM-dd');// '2022-01-01' CustomDateFtt('2022-01-01 12:34:56', 'yyyy-MM-dd hh:mm:ss');// '2022-01-01 12:34:56' CustomDateFtt('2022/01/01 12:34:56', 'yyyy-MM-dd hh:mm:ss');// '2022-01-01 12:34:56' CustomDateFtt('2022-01-01 12:34:56', 'yyyy/MM/dd hh:mm:ss');// '2022/01/01 12:34:56' CustomDateFtt('2022-01-01 12:34:56.123', 'yyyy-MM-dd hh:mm:ss.SSS');// '2022-01-01 12:34:56.123SS' CustomDateFtt('2022-01-01 12:34:56.123', 'yyyy-MM-dd hh:mm:ss.S');// '2022-01-01 12:34:56.123' CustomDateFtt('2022-01-01 12:34:56.123', 'yyyy-MM-dd hh:mm:ss.SS');// '2022-01-01 12:34:56.123S' CustomDateFtt('2022-01-01 12:34:56.123', 'yyyy-MM-dd hh:mm:ss.SSSS');// '2022-01-01 12:34:56.123SSS' CustomDateFtt('2022-01-01 12:34:56.123', 'yyyy-MM-dd hh:mm:ss.SSSSS'); // '2022-01-01 12:34:56.123SSSS' */ export function CustomDateFtt(date, fmt) { if (date != null && date != '' && date != undefined) { if (typeof date == 'string') { if (date.includes('T')) { date = new Date(date); } else { date = date.replace(/-/g, '/'); } } var date = new Date(date); var o = { 'M+': date.getMonth() + 1, 'd+': date.getDate(), 'h+': date.getHours(), 'm+': date.getMinutes(), 's+': date.getSeconds(), 'q+': Math.floor((date.getMonth() + 3) / 3), //季度 S: date.getMilliseconds(), //毫秒 }; o.S < 100 && (o.S = o.S < 10 ? '00' + o.S : '0' + o.S); if (/(y+)/.test(fmt)) fmt = fmt.replace( RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length) ); for (var k in o) if (new RegExp('(' + k + ')').test(fmt)) fmt = fmt.replace( RegExp.$1, RegExp.$1.length == 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length) ); } else { fmt = ''; } return fmt; }