Files
tripellet-merchant/util/util.js
2023-06-06 17:11:04 +08:00

101 lines
3.5 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 金额加逗号
export function changeMoeny(money) {
money = money.split('.')
let decimal = money[1] ? ('.'+money[1]) : ''
decimal = Number(decimal).toFixed()
let integer = money[0] ? money[0] : ''
integer = (Number(integer)+Number(decimal)).toString()
let index = Number.parseInt(integer.length / 3) + 1
let integer_arr = []
for (let i = 0; i < index; i++) {
if(integer.length > 3) {
let end = integer.length
let start = end - 3
integer_arr.unshift(integer.substr(start, end))
integer = integer.slice(0, start)
}else {
integer_arr.unshift(integer)
break
}
}
return integer_arr.join(',')
}
/**
* @description 格式化金额
* @param number要格式化的数字
* @param decimals保留几位小数 默认0位
* @param decPoint小数点符号 默认.
* @param thousandsSep千分位符号 默认为,
*/
const toFixedFix = (n, prec) => {
const k = Math.pow(10, prec)
return '' + Math.ceil(n * k) / k
}
export const formatMoney = (number, decimals = 0, decPoint = '.', thousandsSep = ',') => {
number = (number + '').replace(/[^0-9+-Ee.]/g, '')
const n = !isFinite(+number) ? 0 : +number
const prec = !isFinite(+decimals) ? 0 : Math.abs(decimals)
const sep = (typeof thousandsSep === 'undefined') ? ',' : thousandsSep
const dec = (typeof decPoint === 'undefined') ? '.' : decPoint
let s = ''
s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.')
const re = /(-?\d+)(\d{3})/
while (re.test(s[0])) {
s[0] = s[0].replace(re, '$1' + sep + '$2')
}
if ((s[1] || '').length < prec) {
s[1] = s[1] || ''
s[1] += new Array(prec - s[1].length + 1).join('0')
}
return s.join(dec)
}
/**
* 日期处理函数-二
*/
export function dateTransitionTwo(date_str) {
let date = new Date(date_str)
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()) + ' '
return Y+M+D
}
/**
* 日期处理函数
*/
export function dateTransition(date_str) {
let date = new Date(date_str)
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()) + ' '
var h = (date.getHours() < 10 ? '0'+date.getHours() : date.getHours()) + ':'
var m = (date.getMinutes() < 10 ? '0'+date.getMinutes() : date.getMinutes()) + ':'
var s = (date.getSeconds() < 10 ? '0'+date.getSeconds() : date.getSeconds())
return Y+M+D+h+m+s
}
/**
* 日期处理函数 日本时区
*/
export function dateTransitionJo(UTCDateString) {
var timezone = 9; //目标时区时间,东九区
var offset_GMT = new Date(UTCDateString).getTimezoneOffset(); // 本地时间和格林威治的时间差,单位为分钟
var nowDate = new Date(UTCDateString).getTime(); // 本地时间距 1970 年 1 月 1 日午夜GMT 时间)之间的毫秒数
var targetDate = new Date(
nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000
);
console.log("东8区现在是" + targetDate);
let date = targetDate
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()) + ' '
var h = (date.getHours() < 10 ? '0'+date.getHours() : date.getHours()) + ':'
var m = (date.getMinutes() < 10 ? '0'+date.getMinutes() : date.getMinutes()) + ':'
var s = (date.getSeconds() < 10 ? '0'+date.getSeconds() : date.getSeconds())
return Y+M+D+h+m+s
}