var date, number; /** * 让日期和时间按照指定的格式显示的方法 * @param date * @param formatString format 格式字符串 * @returns {*} 返回生成的日期时间字符串 * * @example * var d = new Date(); * // 以 YYYY-MM-dd hh:mm:ss 格式输出 d 的时间字符串 * J.format.date(d, "YYYY-MM-DD hh:mm:ss"); */ date = function (date, formatString) { /* * eg:formatString="YYYY-MM-DD hh:mm:ss"; */ var o = { "M+": date.getMonth() + 1, //month "D+": date.getDate(), //day "h+": date.getHours(), //hour "m+": date.getMinutes(), //minute "s+": date.getSeconds(), //second "q+": Math.floor((date.getMonth() + 3) / 3), //quarter "S": date.getMilliseconds() //millisecond }; if (/(Y+)/.test(formatString)) { formatString = formatString.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length)); } for (var k in o) { if (new RegExp("(" + k + ")").test(formatString)) { formatString = formatString.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); } } return formatString; }; /** * @memberOf format * @method number * 格式化数字显示方式 * @param num 要格式化的数字 * @param pattern 格式 * @example * J.format.number(12345.999,'#,##0.00'); * //out: 12,34,5.99 * J.format.number(12345.999,'0'); * //out: 12345 * J.format.number(1234.888,'#.0'); * //out: 1234.8 * J.format.number(1234.888,'000000.000000'); * //out: 001234.888000 */ number = function (num, pattern) { var strarr = num ? num.toString().split('.') : ['0']; var fmtarr = pattern ? pattern.split('.') : ['']; var retstr = ''; // 整数部分 var str = strarr[0]; var fmt = fmtarr[0]; var i = str.length - 1; var comma = false; for (var f = fmt.length - 1; f >= 0; f--) { switch (fmt.substr(f, 1)) { case '' : if (i >= 0) retstr = str.substr(i--, 1) + retstr; break; case '0' : if (i >= 0) retstr = str.substr(i--, 1) + retstr; else retstr = '0' + retstr; break; case ',' : comma = true; retstr = ',' + retstr; break; } } if (i >= 0) { if (comma) { var l = str.length; for (; i >= 0; i--) { retstr = str.substr(i, 1) + retstr; if (i > 0 && ((l - i) % 3) == 0) retstr = ',' + retstr; } } else retstr = str.substr(0, i + 1) + retstr; } retstr = retstr + '.'; // 处理小数部分 str = strarr.length > 1 ? strarr[1] : ''; fmt = fmtarr.length > 1 ? fmtarr[1] : ''; i = 0; for (var f = 0; f < fmt.length; f++) { switch (fmt.substr(f, 1)) { case '' : if (i < str.length) retstr += str.substr(i++, 1); break; case '0' : if (i < str.length) retstr += str.substr(i++, 1); else retstr += '0'; break; } } return retstr.replace(/^,+/, '').replace(/.$/, ''); };