小伙伴们平时开发过程中,对获取到的本地时间有没有进行一些特殊的处理啊。比如页面需要展示这样的时间:2021.07.22、2021/07/22、2021-07-22等 。
下面我们封装一个方法,可以获取自定义格式的日期格式,可自定义精确到年月日时分秒哦~ 上代码:
1 /** 2 * 3 * @param {number|string} timestamp,默认是当前时间戳 4 * @param {string} format 'year' || 'month' || 'day' || 'hour' || 'minute' || 'second' 默认到秒 second 5 * @param {string} divider 年月日之间的间隔符,默认是 - 6 * @returns 7 */ 8 export function getDate(timestamp, format, divider='-') { 9 if (timestamp && isNaN(timestamp)) return false; 10 if ((timestamp + '').includes('.')) return false; 11 var _timestamp = timestamp || new Date().getTime(); 12 function add0(m) { return m < 10 ? '0' + m : m }; 13 var time = new Date(Number(_timestamp)); 14 var y = time.getFullYear(); 15 var m = time.getMonth() + 1; 16 var d = time.getDate(); 17 var h = time.getHours(); 18 var mm = time.getMinutes(); 19 var s = time.getSeconds(); 20 switch (format) { 21 case 'year': 22 return y; 23 case 'month': 24 return y + divider + add0(m); 25 case 'day': 26 return y + divider + add0(m) + divider + add0(d); 27 case 'hour': 28 return y + divider + add0(m) + divider + add0(d) + ' ' + add0(h); 29 case 'minute': 30 return y + divider + add0(m) + divider + add0(d) + ' ' + add0(h) + ':' + add0(mm); 31 case 'second': 32 return y + divider + add0(m) + divider + add0(d) + ' ' + add0(h) + ':' + add0(mm) + ':' + add0(s); 33 default: 34 return y + divider + add0(m) + divider + add0(d) + ' ' + add0(h) + ':' + add0(mm) + ':' + add0(s); 35 } 36 }
效果图:
脚踏实地行,海阔天空飞~