104 lines
3.7 KiB
JavaScript
104 lines
3.7 KiB
JavaScript
function formatTime(date) {
|
||
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()
|
||
return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
|
||
}
|
||
function formatTimes(date) {
|
||
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()
|
||
return [year, month, day].map(formatNumber).join('-')
|
||
}
|
||
function formatNumber(n) {
|
||
n = n.toString()
|
||
return n[1] ? n : '0' + n
|
||
}
|
||
// 时间戳获取正常时间格式
|
||
function formatTimeTwo(number, format) {
|
||
var formateArr = ['Y', 'M', 'D', 'h', 'm', 's'];
|
||
var returnArr = [];
|
||
var date = new Date(number * 1000);
|
||
returnArr.push(date.getFullYear());
|
||
returnArr.push(formatNumber(date.getMonth() + 1));
|
||
returnArr.push(formatNumber(date.getDate()));
|
||
returnArr.push(formatNumber(date.getHours()));
|
||
returnArr.push(formatNumber(date.getMinutes()));
|
||
returnArr.push(formatNumber(date.getSeconds()));
|
||
for (var i in returnArr) {
|
||
format = format.replace(formateArr[i], returnArr[i]);
|
||
}
|
||
return format;
|
||
}
|
||
// 阿拉伯数字转为中文数字
|
||
function convertToChinaNum(num) {
|
||
var arr1 = new Array('零', '一', '二', '三', '四', '五', '六', '七', '八', '九');
|
||
var arr2 = new Array('', '十', '百', '千', '万', '十', '百', '千', '亿', '十', '百', '千', '万', '十', '百', '千', '亿'); //可继续追加更高位转换值
|
||
if (!num || isNaN(num)) {
|
||
return "零";
|
||
}
|
||
var english = num.toString().split("")
|
||
var result = "";
|
||
for (var i = 0; i < english.length; i++) {
|
||
var des_i = english.length - 1 - i; //倒序排列设值
|
||
result = arr2[i] + result;
|
||
var arr1_index = english[des_i];
|
||
result = arr1[arr1_index] + result;
|
||
}
|
||
//将【零千、零百】换成【零】 【十零】换成【十】
|
||
result = result.replace(/零(千|百|十)/g, '零').replace(/十零/g, '十');
|
||
//合并中间多个零为一个零
|
||
result = result.replace(/零+/g, '零');
|
||
//将【零亿】换成【亿】【零万】换成【万】
|
||
result = result.replace(/零亿/g, '亿').replace(/零万/g, '万');
|
||
//将【亿万】换成【亿】
|
||
result = result.replace(/亿万/g, '亿');
|
||
//移除末尾的零
|
||
result = result.replace(/零+$/, '')
|
||
//将【零一十】换成【零十】
|
||
//result = result.replace(/零一十/g, '零十');//貌似正规读法是零一十
|
||
//将【一十】换成【十】
|
||
result = result.replace(/^一十/g, '十');
|
||
return result;
|
||
}
|
||
var htpUrl = 'https://www.yunzmall.com/min_img'
|
||
function debounce(fn, interval) {
|
||
var timer;
|
||
var gapTime = interval || 1000; //间隔时间,如果interval不传,则默认1000ms
|
||
return function () {
|
||
clearTimeout(timer);
|
||
var context = this;
|
||
var args = arguments; //保存此处的arguments,因为setTimeout是全局的,arguments不是防抖函数需要的。
|
||
timer = setTimeout(function () {
|
||
fn.call(context, args);
|
||
}, gapTime);
|
||
};
|
||
}
|
||
function throttle(fn, interval) {
|
||
var enterTime = 0;//触发的时间
|
||
var gapTime = interval || 200 ;//间隔时间,如果interval不传,则默认300ms
|
||
return function() {
|
||
var context = this;
|
||
var backTime = new Date();//第一次函数return即触发的时间
|
||
if (backTime - enterTime > gapTime) {
|
||
fn.call(context,arguments);
|
||
enterTime = backTime;//赋值给第一次触发的时间,这样就保存了第二次触发的时间
|
||
}
|
||
};
|
||
}
|
||
|
||
module.exports = {
|
||
formatTime: formatTime,
|
||
htpUrl: htpUrl,
|
||
formatTimeTwo: formatTimeTwo,
|
||
formatTimes: formatTimes,
|
||
debounce,
|
||
throttle
|
||
}
|