|
|
@ -65,7 +65,7 @@ export function parseTime(time, pattern) { |
|
|
s: date.getSeconds(), |
|
|
s: date.getSeconds(), |
|
|
a: date.getDay() |
|
|
a: date.getDay() |
|
|
} |
|
|
} |
|
|
const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => { |
|
|
|
|
|
|
|
|
const time_str = format.replace(new RegExp(/{(y|m|d|h|i|s|a)+}/g), (result, key) => { |
|
|
let value = formatObj[key] |
|
|
let value = formatObj[key] |
|
|
// Note: getDay() returns 0 on Sunday
|
|
|
// Note: getDay() returns 0 on Sunday
|
|
|
if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value] } |
|
|
if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value] } |
|
|
@ -163,6 +163,15 @@ export function formatTime(time, option) { |
|
|
) |
|
|
) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
export function showRangeTime(date, start=1) { |
|
|
|
|
|
if(start==1){ |
|
|
|
|
|
return date.replace(" 00:00:00", "") |
|
|
|
|
|
} |
|
|
|
|
|
if(start==2){ |
|
|
|
|
|
return date.replace(" 23:59:59", "") |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// number:要格式化的数字,
|
|
|
// number:要格式化的数字,
|
|
|
// decimals:保留几位小数, 默认0位
|
|
|
// decimals:保留几位小数, 默认0位
|
|
|
// dec_point:小数点符号, 默认 .
|
|
|
// dec_point:小数点符号, 默认 .
|
|
|
@ -170,19 +179,19 @@ export function formatTime(time, option) { |
|
|
// tail_add: 小数点后面数据是否添加0补足位数, 默认空字符
|
|
|
// tail_add: 小数点后面数据是否添加0补足位数, 默认空字符
|
|
|
// null_default: 如果为空的值, 默认空字符
|
|
|
// null_default: 如果为空的值, 默认空字符
|
|
|
function numberFormat(number, decimals, tail_add="", thousands_sep, dec_point, null_default="") { |
|
|
function numberFormat(number, decimals, tail_add="", thousands_sep, dec_point, null_default="") { |
|
|
number = (number + '').replace(/[^0-9+-Ee.]/g, ''); |
|
|
|
|
|
var n = !isFinite(+number) ? 0 : +number, |
|
|
|
|
|
|
|
|
number = (number + '').replace(new RegExp(/[^0-9+-Ee.]/g), ''); |
|
|
|
|
|
let n = !isFinite(+number) ? 0 : +number, |
|
|
prec = !isFinite(+decimals) ? 0 : Math.abs(decimals), |
|
|
prec = !isFinite(+decimals) ? 0 : Math.abs(decimals), |
|
|
sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep, |
|
|
sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep, |
|
|
dec = (typeof dec_point === 'undefined') ? '.' : dec_point, |
|
|
dec = (typeof dec_point === 'undefined') ? '.' : dec_point, |
|
|
s = '', |
|
|
s = '', |
|
|
toFixedFix = function (n, prec) { |
|
|
toFixedFix = function (n, prec) { |
|
|
var k = Math.pow(10, prec); |
|
|
|
|
|
|
|
|
let k = Math.pow(10, prec); |
|
|
return '' + Math.round(n * k) / k; |
|
|
return '' + Math.round(n * k) / k; |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.'); |
|
|
s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.'); |
|
|
var re = /(-?\d+)(\d{3})/; |
|
|
|
|
|
|
|
|
let re = new RegExp(/(-?\d+)(\d{3})/g); |
|
|
if(sep.length > 0){ |
|
|
if(sep.length > 0){ |
|
|
while (re.test(s[0])) { |
|
|
while (re.test(s[0])) { |
|
|
s[0] = s[0].replace(re, "$1" + sep + "$2"); |
|
|
s[0] = s[0].replace(re, "$1" + sep + "$2"); |
|
|
@ -211,9 +220,10 @@ export function formatNumber(number, decimals, tail_add, thousands_sep, dec_poin |
|
|
} |
|
|
} |
|
|
// thousands_sep:千分位符号 默认空字符
|
|
|
// thousands_sep:千分位符号 默认空字符
|
|
|
export function formatPercent(number, decimals, tail_add, thousands_sep="", dec_point, null_default) { |
|
|
export function formatPercent(number, decimals, tail_add, thousands_sep="", dec_point, null_default) { |
|
|
if(isNull(number) || isNull(String(number).trim().replaceAll(",", ""))){return null_default;} |
|
|
|
|
|
if(!isNumber(String(number).trim().replaceAll(",", ""))){return number;} |
|
|
|
|
|
number = String(number).trim().replaceAll(",", ""); |
|
|
|
|
|
|
|
|
let re = new RegExp(/,/g) |
|
|
|
|
|
if(isNull(number) || isNull(String(number).trim().replace(re, ""))){return null_default;} |
|
|
|
|
|
if(!isNumber(String(number).trim().replace(re, ""))){return number;} |
|
|
|
|
|
number = String(number).trim().replace(re, ""); |
|
|
let value = numberFormat(number*100, decimals, tail_add, thousands_sep, dec_point, null_default); |
|
|
let value = numberFormat(number*100, decimals, tail_add, thousands_sep, dec_point, null_default); |
|
|
if(value){ |
|
|
if(value){ |
|
|
return value + "%"; |
|
|
return value + "%"; |
|
|
@ -323,7 +333,7 @@ export function getLongRandom(len){ |
|
|
while(data[index] == 0){ |
|
|
while(data[index] == 0){ |
|
|
index++; |
|
|
index++; |
|
|
} |
|
|
} |
|
|
return parseTime(Date.now(), '{y}{m}{d}{h}{i}{s}') + "" + data.substr(index, len-16); |
|
|
|
|
|
|
|
|
return parseTime(Date.now(), '{y}{m}{d}{h}{i}{s}') + "" + data.substr(index, len-14); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
export function moveInArray(array, fromIndex, toIndex) { |
|
|
export function moveInArray(array, fromIndex, toIndex) { |
|
|
@ -335,14 +345,14 @@ export function jsonCharBigInt(s){ |
|
|
if(typeof s !== 'string'){ |
|
|
if(typeof s !== 'string'){ |
|
|
return s |
|
|
return s |
|
|
} |
|
|
} |
|
|
let re = /([\\]?['|"]{1})(\w+[\\]?['|"]{1}[ |\n|r|\t]*:[ |\n|r|\t]*)([-]?\d{15,})/g |
|
|
|
|
|
return s.replaceAll(re, "$1$2$1$3$1") |
|
|
|
|
|
|
|
|
const re = new RegExp(/([\\]?['|"]{1})(\w+[\\]?['|"]{1}[ |\n|r|\t]*:[ |\n|r|\t]*)([-]?\d{15,})/gm); |
|
|
|
|
|
return s.replace(re, "$1$2$1$3$1") |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
export function jsonParse(s){ |
|
|
export function jsonParse(s){ |
|
|
if(typeof s !== 'string'){ |
|
|
if(typeof s !== 'string'){ |
|
|
return s |
|
|
return s |
|
|
} |
|
|
} |
|
|
let re = /([\\]?['|"]{1})(\w+[\\]?['|"]{1}[ |\n|r|\t]*:[ |\n|r|\t]*)([-]?\d{15,})/g |
|
|
|
|
|
return JSON.parse(s.replaceAll(re, "$1$2$1$3$1")) |
|
|
|
|
|
|
|
|
const re = new RegExp(/([\\]?['|"]{1})(\w+[\\]?['|"]{1}[ |\n|r|\t]*:[ |\n|r|\t]*)([-]?\d{15,})/gm); |
|
|
|
|
|
return JSON.parse(s.replace(re, "$1$2$1$3$1")) |
|
|
} |
|
|
} |