关于时间戳与格式日期的转换

知道一月中某天时间戳,获取该月1日至30日时间戳

function computeTime(time){
    const y = new Date(time).getFullYear();
	const m = new Date(time).getMonth()+1;
	return [new Date(y, m - 1, 1).getTime(),new Date(y, m, 0).getTime()];
}
computeTime(time);

将时间戳转换为指定日期格式

function format(date,format){
			let time;
			if(date instanceof Date){
				time = date;
			}else{
				time = new Date(date);
			}
			const o = {
				'M+':time.getMonth()+1,
				'd+':time.getDate(),
				'h+':time.getHours(),
				'm+':time.getMinutes(),
				's+':time.getSeconds(),
				'q+':Math.floor((time.getMonth()+3)/3),
				S:time.getMilliseconds(),
			};
			if(/(y+)/.test(format)){
				format = format.replace(RegExp.$1,(`${time.getFullYear()}`).substr(4-RegExp.$1.length));
			}
			for(const k in o){
				if(new RegExp(`(${k})`).test(format)){
					format = format.replace(RegExp.$1,RegExp.$1.length === 1 ? o[k] : (`00${o[k]}`).substr((`${o[k]}`).length));
				}
			}
			return format;
		}
        let date = new Date().getTime();
		console.log(date,format(date,'yyyy年MM月dd'))

金额格式转换(保留两位小数)

function computeMoney(money){
	if(String(money).indexOf('.')>=0){
		const fl = String(money).split('.')[1].length;
		if(fl === 1){
			return `${money}0`;
		} else if(fl === 2) {
			return 	`money`;
		}
    }else{
			return `${money}.00`;
		}
	}
console.log(computeMoney(8.90))

浮点数精度问题(参数必须为number类型)

function precision(num1,num2) {
    let t1,t2;
	try{
		t1 = String(num1).split('.')[1].length;
	}catch(e){
		t1 = 0;
	}
	try{
		t2 = String(num2).split('.')[1].length;
	}catch(e){
		t2 = 0;
	}
	const m = 10 ** Math.max(t1,t2);
    if (num1 > 0 && num2 > 0) {
        return (m *num1 + m * num2) / m;
    } else {
        const n = t1 > t2 ? t1 : t2;
        return ((m * num1 + m * num2)/m).toFixed(n);
    }
	
}
console.log(precision(9999.20,45.80));

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值