公共的方法
来源:互联网 发布:数据平滑方法 编辑:程序博客网 时间:2024/06/10 22:11
一、日期时间转换
(1)日期格式转换
function changeTime(nS) {
if(!nS || isNaN(nS))
return '';
var date = new Date(parseInt(nS));
var Y = date.getFullYear() + '-';
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
var D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()) + ' ';
// h = (date.getHours() < 10 ? '0'+(date.getHours()) : date.getHours())+ ':';
// m = (date.getMinutes() < 10 ? '0'+(date.getMinutes()) : date.getMinutes());
// s = date.getSeconds();
return Y + M + D;
}
//时间戳必须为13位的
alert(changeTime(1491470982000));
(2)中国标准时间 转 YYYY-MMMM-DDDD
var a = 'Mon Apr 03 2017 16:32:00 GMT+0800 (中国标准时间)'
var b = (Date.parse(new Date(a)))
var date = new Date(parseInt(b));
var Y = date.getFullYear() + '-';
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
var D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()) + ' ';
alert( Y + M + D);
(3)yymmdd 转 yy-mm-dd (三种方法)
1. var r="20112233".replace(/^(\d{4})(\d{2})(\d{2})$/, "$1-$2-$3")
console.log(r)
2. var dateString = '19930701';
var pattern = /(\d{4})(\d{2})(\d{2})/;
var formatedDate = dateString.replace(pattern, '$1-$2-$3');
console.log(formatedDate);
3. function formatStringyyyyMMddToyyyy_MM_dd (value){
if(value.length == 8){
return value.substring(0, 4) + "-" + value.substring(4, 6) + "-" + value.substring(6, 8);
} else if(value.length == 6){
return value.substring(0, 4) + "-" + value.substring(4, 6);
} else {
return value;
}
}
二、金额转换
function formatMoney(value,fix){ var re = /(\d{1,3})(?=(\d{3})+(?:\.))/g;//千分位 正则公式 //保留小数的位数 只有曲线图保留整数 if(fix != 0){ fix = 2; } fix = Number(fix); value = Number(value); if(!isNaN(value)) { var prefix = ""; if(value < 0) prefix = "-"; if(value === 0) return value.toFixed(fix); value = value.toFixed(fix); if(value < -10000 && value > -10000*10000) return (value/10000).toFixed(fix) + '万'; else if(value < -10000*10000) return (value/100000000).toFixed(fix) + '亿'; else if(value > 10000 && value < 10000*10000) return prefix + (value/10000).toFixed(fix) + '万'; else if(value > 10000*10000) return prefix + (value/100000000).toFixed(fix) + '亿'; else return value.replace(re, "$1,"); } else { return '0.00'; }}
三、小数转百分数(三种)
1. var a=0.324567;
var b=a.toFixed(4);
var c=b.slice(2,4)+"."+b.slice(4,6)+"%";
alert(c);
2. Number.prototype.toPercent = function(n){n = n || 2;return ( Math.round( this * Math.pow( 10, n + 2 ) ) / Math.pow( 10, n ) ).toFixed( n ) + '%';}
var A=0.358975, B=1.0000;
alert([A, A.toPercent(3), B, B.toPercent(1)].join('\n'));
3. Number.prototype.toPercent = function(){
return (Math.round(this * 10000)/100).toFixed(2) + '%';
}
var A=0.35897, B=1.00000;
alert([A, A.toPercent(), B, B.toPercent()]);