wh_components
Version:
郭炜恒的vue组件库
46 lines (44 loc) • 1.49 kB
JavaScript
function deepGet(obj, keys, defaultVal) {
let str =
(!Array.isArray(keys)
? keys.replace(/\[/g, '.').replace(/\]/g, '').split('.')
: keys
).reduce((o, k) => (o || {})[k], obj)
if(str+'' == 'undefined'|| str+'' == 'null' || str === '') return defaultVal
else return str+''
}
function formatTime(timestamp, format) {
if(!timestamp || !format) throw new Error("缺少必传参数")
if (timestamp instanceof Date) timestamp = timestamp.getTime();
if (typeof timestamp === 'string') {
timestamp = Date.parse(timestamp);
if(isNaN(timestamp)) throw new Error("请传入正确的参数格式")
}
if (timestamp.toString().length === 10) timestamp *= 1000;
var date = new Date(timestamp);
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
var hour = date.getHours();
var minute = date.getMinutes();
var second = date.getSeconds();
var o = {
"M+": month,
"d+": day,
"H+": hour,
"m+": minute,
"s+": second,
"q+": Math.floor((month - 1) / 3) + 1, // 季度
"S": date.getMilliseconds() // 毫秒
};
if (/(y+)/.test(format)) {
format = format.replace(RegExp.$1, (year + "").substr(4 - RegExp.$1.length));
}
for (var k in o) {
if (new RegExp("(" + k + ")").test(format)) {
format = format.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
}
}
return format;
}
export { deepGet, formatTime }