日期格式化以及金额千分位----封装方法

项目中经常用到的日期格式化以及金额千分位方法,封装一下直接拿去用

1: 时间格式化
export function formatDate(date, fmt) {
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
}
let o = {
'M+': date.getMonth() + 1,
'd+': date.getDate(),
'h+': date.getHours(),
'm+': date.getMinutes(),
's+': date.getSeconds()
}
for (let k in o) {
if (new RegExp(`(${k})`).test(fmt)) {
let str = o[k] + ''
fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? str : padLeftZero(str))
}
}
return fmt
}

 

2:千分位方法
export function numFormat(data) {
return (
data &&
(data.toString().indexOf('.') !== -1
? data.toString().replace(/(\d)(?=(\d{3})+\.)/g, function($0, $1) {
return $1 + ','
})
: data.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'))
)
}

最近突然发现  toLocaleString()方法也可以实现千分位

列如:

(1231312312.2391).toLocaleString()
//"1,231,312,312.239"

不妨可以试一试具体用法可以参考:https://blog.csdn.net/weixin_39749820/article/details/82869537

老铁们有需要改进的地方可以给我留言!

如果您觉得文章有用,可以打赏个咖啡钱

posted @ 2019-04-14 16:00  别闹啊  阅读(714)  评论(0编辑  收藏  举报
Live2D