var common = {
/*
* js克隆
* ---------------------------------------------------------------
* @obj {任何类型} 需要克隆的对象
*/
"clone" : function(obj) {
var o;
switch (typeof obj) {
case 'undefined':
break;
case 'string':
o = obj + '';
break;
case 'number':
o = obj - 0;
break;
case 'boolean':
o = obj;
break;
case 'object':
if (obj === null) {
o = null;
}
else {
o = JSON.parse(JSON.stringify(obj));
}
break;
default:
o = obj;
break;
}
return o;
},
/*
* 阻止事件冒泡
* ---------------------------------------------------------------
*/
"stopEventPropagation" : function() {
if (event.stopPropagation) {
// this code is for Mozilla and Opera
event.stopPropagation();
}
else if (window.event) {
// this code is for IE
window.event.cancelBubble = true;
}
},
/*
* 新建一个GUID(唯一标识)
* ---------------------------------------------------------------
*/
"newGuid" : function() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
});
},
/*
* 获取设备系统类型,主要区分ios与android
* ---------------------------------------------------------------
*/
"getDeviceOSType" : function() {
var _return = "pc";
var ua = navigator.userAgent.toLowerCase();
if (/iphone|ipad|ipod/.test(ua)) {
_return = "ios"
}
else if (/android/.test(ua)) {
_return = "android"
}
return _return;
},
/*
* 将字符串转换为UTF-8编码
* ---------------------------------------------------------------
* @text {string} 原始字符串
*/
"strToUtf8" : function(text) {
var out, i, len, c;
out = "";
len = text.length;
for (i = 0; i < len; i++) {
c = text.charCodeAt(i);
if ((c >= 0x0001) && (c <= 0x007F)) {
out += text.charAt(i);
}
else if (c > 0x07FF) {
out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));
out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F));
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
}
else {
out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F));
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
}
}
return out;
}
调用:
//克隆一个对象
var _obj = common.clone(obj);
//阻止事件冒泡
common.stopEventPropagation();
//新建一个GUID
var _id = common.newGuid();
//获取设备系统类型
var _osType = common.getDeviceOSType();
//将字符串转换为UTF-8编码
var _str = common.strToUtf8(str);
后端返回的时间戳转化正常时间
/**
* @param {
* stamp参数 字符串或者number类型时间戳10位或者13位长度
* }
*/
function Timestamp(stamp){
// 判断是不是13位的时间戳格式
if(stamp.length < 13){
stamp = stamp*1000
}else{
stamp = stamp
}
let date = new Date(Number(stamp))
// 获取年
let year = date.getFullYear()
// 获取月(月份为单位数前边补0)
let month = date.getMonth()+1 > 9 ? date.getMonth()+1 : '0' + (date.getMonth()+1)
// 获取日
let day = date.getDate() > 9 ? date.getDate() : '0' + date.getDate()
// 获取时
let hour = date.getHours() > 9 ? date.getHours() : '0' + date.getHours()
// 获取分
let minute = date.getMinutes() > 9 ? date.getMinutes() : '0' + date.getMinutes()
// 获取秒
let second = date.getSeconds() > 9 ? date.getSeconds() : '0' + date.getSeconds()
return year +'-'+ month +'-'+ day +' '+ hour +':'+ minute +':'+ second
}
获取某个时间是周几
/**
* @param {*}
* date参数 某日期
*/
function getWeek(date){
return "星期" + "日一二三四五六".charAt(new Date(date).getDay());
}
console.log(getWeek('2018-11-8'))