小伙伴们平时开发过程中,对获取到的本地时间有没有进行一些特殊的处理啊。比如页面需要展示这样的时间:2021.07.22、2021/07/22、2021-07-22等 。
下面我们封装一个方法,可以获取自定义格式的日期格式,可自定义精确到年月日时分秒哦~ 上代码:
/**
*
* @param {number|string} timestamp,默认是当前时间戳
* @param {string} format 'year' || 'month' || 'day' || 'hour' || 'minute' || 'second' 默认到秒 second
* @param {string} divider 年月日之间的间隔符,默认是 -
* @returns
*/
export function getDate(timestamp, format, divider='-') {
if (timestamp && isNaN(timestamp)) return false;
if ((timestamp + '').includes('.')) return false;
var _timestamp = timestamp || new Date().getTime();
function add0(m) { return m < 10 ? '0' + m : m };
var time = new Date(Number(_timestamp));
var y = time.getFullYear();
var m = time.getMonth() + 1;
var d = time.getDate();
var h = time.getHours();
var mm = time.getMinutes();
var s = time.getSeconds();
switch (format) {
case 'year':
return y;
case 'month':
return y + divider + add0(m);
case 'day':
return y + divider + add0(m) + divider + add0(d);
case 'hour':
return y + divider + add0(m) + divider + add0(d) + ' ' + add0(h);
case 'minute':
return y + divider + add0(m) + divider + add0(d) + ' ' + add0(h) + ':' + add0(mm);
case 'second':
return y + divider + add0(m) + divider + add0(d) + ' ' + add0(h) + ':' + add0(mm) + ':' + add0(s);
default:
return y + divider + add0(m) + divider + add0(d) + ' ' + add0(h) + ':' + add0(mm) + ':' + add0(s);
}
}
效果图:
更多项目中常见的方法封装,传送门:https://github.com/wangruibin666/wang-utils
脚踏实地行,海阔天空飞~