//format.js 公用js
/**
* Parse the time to string
* @param {(Object|string|number)} time
* @param {string} format
* @returns {string | null}
*/
//时间格式化
export function formatDate(time,format) {
if (!time) return "";
var date=new Date(time);
var year=date.getFullYear();
/* 在日期格式中,月份是从0开始的,因此要加0
* 使用三元表达式在小于10的前面加0,以达到格式统一 如 09:11:05
* */
var month= date.getMonth()+1<10 ? "0"+(date.getMonth()+1) : date.getMonth()+1;
var day=date.getDate()<10 ? "0"+date.getDate() : date.getDate();
var hours=date.getHours()<10 ? "0"+date.getHours() : date.getHours();
var minutes=date.getMinutes()<10 ? "0"+date.getMinutes() : date.getMinutes();
var seconds=date.getSeconds()<10 ? "0"+date.getSeconds() : date.getSeconds();
// 拼接
// return year+"-"+month+"-"+day+" "+hours+":"+minutes+":"+seconds; let result = ''
switch (format) {
case 'YYYY':
result = year
break
case 'MM':
result = month
break
case 'DD':
result = day
break
case 'HH':
result = hours
break
case 'mm':
result = minutes
break
case 'ss':
result = seconds
break
case 'HH:mm':
result = `${hours}:${minutes}`
break
case 'HH:mm:ss':
result = `${hours}:${minutes}:${seconds}`
break
case 'YYYY-MM':
result = `${year}-${month}`
break
case 'YYYY-MM-DD':
result = `${year}-${month}-${day}`
break
case 'YYYY/MM/DD':
result = `${year}/${month}/${day}`
break
case 'YYYY-MM-DD HH:mm':
result = `${year}-${month}-${day} ${hours}:${minutes}`
break
case 'YYYY-MM-DD HH:mm:ss':
result = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
break
case 'YYYY-MM-DD 00:00:00':
result = `${year}-${month}-${day} 00:00:00`
break
case 'YYYY/MM/DD':
result = `${year}/${month}/${day}`
break
case 'YYYY/MM/DD HH:mm':
result = `${year}/${month}/${day} ${hours}:${minutes}`
break }
return result;
} /**
* Parse the time to string
* @param {(Object|string|number)} value
* @param {string} format
* @returns {string | null}
*/
//时间戳转化
export function timestamp(value,format){
if (!value) return "";
const time = new Date(value * 1000);
const Y = time.getFullYear()
const M = (time.getMonth() + 1).toString().padStart(2, '0')
const D = time.getDate().toString().padStart(2, '0')
const h = time.getHours().toString().padStart(2, '0')
const m = time.getMinutes().toString().padStart(2, '0')
const s = time.getSeconds().toString().padStart(2, '0')
// return `${Y}-${M}-${D} ${h}:${m}:${s}`
let result = ''
switch (format) {
case 'YYYY':
result = Y
break
case 'MM':
result = M
break
case 'DD':
result = D
break
case 'HH':
result = h
break
case 'mm':
result = m
break
case 'ss':
result = s
break
case 'HH:mm':
result = `${h}:${m}`
break
case 'HH:mm:ss':
result = `${h}:${m}:${s}`
break
case 'YYYY-MM':
result = `${Y}-${M}`
break
case 'YYYY-MM-DD':
result = `${Y}-${M}-${D}`
break
case 'YYYY/MM/DD':
result = `${Y}/${M}/${D}`
break
case 'YYYY-MM-DD HH:mm':
result = `${Y}-${M}-${D} ${h}:${m}`
break
case 'YYYY-MM-DD HH:mm:ss':
result = `${Y}-${M}-${D} ${h}:${m}:${s}`
break
case 'YYYY-MM-DD 00:00:00':
result = `${Y}-${M}-${D} 00:00:00`
break
case 'YYYY/MM/DD':
result = `${Y}/${M}/${D}`
break
case 'YYYY/MM/DD HH:mm':
result = `${Y}/${M}/${D} ${h}:${m}`
break
}
return result;
} /**
* Parse the time to string
* @param {(Object|string|number)} val
* @param {string} digit
* @returns {string | null}
*/
//数字类型
// 判断是否为数值 true 数值类型 false 其他
export function formatNum(val, digit,type) {
// 异常值判断
if (val === null || isNaN(val) || val === undefined || val === '' || val === ' ') return ''
// 数值 或 字符串数值
val = parseFloat(val).toFixed(digit) // 删除尾部的‘0’
// if (val.endsWith('0')) {
// val = val.substring(0, val.lastIndexOf('0'))
// } // 删除尾部的‘.’
if (val.endsWith('.')) {
val = val.substring(0, val.lastIndexOf('.'))
}
// if(type==='money'){ //格式为金额形式的
// var intPart = Number(val).toFixed(0); //获取整数部分
// var intPartFormat = intPart
// .toString()
// .replace(/(\d)(?=(?:\d{3})+$)/g, "$1,"); //将整数部分逢三一断
// var floatPart = ".00"; //预定义小数部分
// var value2Array = val.split(".");
// //=2表示数据有小数位
// if (value2Array.length == 2) {
// floatPart = value2Array[1].toString(); //拿到小数部分
// console.log('-intPartFormat--',intPartFormat + "." + floatPart + "0")
// if (floatPart.length == 1) {
// //补0,
// val=intPartFormat + "." + floatPart + "0";
// } else {
// val= intPartFormat + "." + floatPart;
// }
// } else {
// console.log('-intPartFormat + floatPart--',intPartFormat + floatPart)
// val=intPartFormat + floatPart;
// }
// }
return val
}
//引用 vue文件
formatDateHandle(value, item) {
//value 参数值 item配置文件时间格式{dateFormat: 'YYYY-MM-DD HH:mm:ss'}
if (!value) return '';
this.accountDetails[item.field] = formatDate(value, item.dateFormat);
return this.accountDetails[item.field];
},
formatNumHandle(value, item) {
//value 参数值 item配置文件时间格式 pattern小数点精确度{numeric{type: 'money',pattern: '2'}}
if (!value) return '';
this.accountDetails[item.field] = formatNum(value, item.numeric.pattern, item.numeric.type);
return this.accountDetails[item.field];
}

vue 封装时间格式化和number精确度的更多相关文章

  1. vue 过滤器时间格式化

    1.导入了一个moment.js插件,里面封装了格式化时间的方法 ①:插件的链接:https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/mom ...

  2. vue 工具函数的封装 时间格式化函数

    时间代码格式化工具函数的封装 小伙伴们,多封点工具函数,多封装点公共组件,多写点公共样式,照顾下互联网行业的新人把....~~~~~ /** yyyymmdd(new Date) -> &quo ...

  3. 【转载】vue.js实现格式化时间并每秒更新显示功能示例

    引用:https://www.jb51.net/article/143351.htm 这篇文章主要介绍了vue.js实现格式化时间并每秒更新显示功能,结合实例形式分析了vue.js时间格式化显示与基于 ...

  4. vue filter方法-时间格式化

    plugins/filter.js import Vue from 'vue' // 时间格式化 // 用法:<div>{{data | dataFormat('yyyy-MM-dd hh ...

  5. js的相关函数封装(正则表达式,获取url参数,时间格式化)

    一:// 验证中文名称 function isChinaName(name) { var pattern = /^[\u4E00-\u9FA5]{1,6}$/ return pattern.test( ...

  6. VUE过滤器的使用 vue 时间格式化

    过滤器介绍 官方教程地址:https://cn.vuejs.org/v2/guide/filters.html 过滤器常被用于一些文本格式化 我们可以自定义过滤器,可以实现各种各样的功能. vue时间 ...

  7. vue 封装公用函数

    Vue 函数封装 格式化浏览器时间 /** * 格式化时间 * @param params * @param blo 默认为true * @returns {string} * @constructo ...

  8. 基于Ant Design Vue封装一个表单控件

    开源代码 https://github.com/naturefwvue/nf-vue3-ant 有缺点本来是写在最后的,但是博文写的似乎有点太长了,估计大家没时间往下看,于是就把有缺点写在前面了,不喜 ...

  9. Java魔法堂:Date与日期时间格式化

    一.前言                                                                                       日期时间的获取.显 ...

  10. elementUI 时间格式化(一般方法)

    1.html: ... <el-table-column prop="updateTime" label="更新时间" width="160&q ...

随机推荐

  1. ubuntu常用操作

    Ubuntu22.04 server 创建随操作系统自动启动: 创建rc-local.service cp /lib/systemd/system/rc.-local.service /etc/sys ...

  2. [canvas]ncaught TypeError: Cannot read properties of null (reading 'getContext')

    相信你和我一样是直接复制大佬的js代码(笑) ------------ 主要问题在于:js先加载完了,html才加载,导致js获取不了html的对象 解决办法: 把  <head />  ...

  3. 【36oj】 画圣诞树

    原题 圣诞节要到了,不少商家在宣传板上绘制了圣诞树的图案,如图所示.一棵圣诞树由A和B两部分组成: A是由n(n≥)个呈三角形的字符矩阵构成的,每个字符矩阵由三个参数ai.bi.ci唯一确定.Ai表示 ...

  4. Twenty-six

    条件渲染指令 v-if:动态移除或创建元素(如果刚进入页面的时候,某些元素默认不需要被显示,而且后期这个元素很可能也不需要被展示出来) v-show: 添加或移除display:none的样式(频繁切 ...

  5. CentOS7 minimal 安装 VMware Tools(自带脚本安装)

    1.安装相关组件 yum -y install perl gcc make kernel-headers kernel-devel net-tools 2.新建挂载目录 mkdir -p /mnt/c ...

  6. c++基础: uint8_t uint16_t uint32_t uint64_t size_t ssize_t数据类型

    https://blog.csdn.net/lzx_bupt/article/details/7066577 在nesc的代码中,你会看到很多你不认识的数据类型,比如uint8_t等.咋一看,好像是个 ...

  7. kafka监控系统kafka eagle安装和使用

    一.kafka eagle介绍 kafka eagle 是一款由国内公司开源的Kafka集群监控系统,可以用来监视kafka集群的broker状态.Topic信息.IO.内存.consumer线程.偏 ...

  8. 看K线学炒股(8.9)

    今天是食品饮料类题材大涨的一天,相应板块涨了6个多点,看着真是诱人.我以前关注的两只股票:海天味业和三全食品,今天都大涨.三全食品接近涨停.这种票容易选出来但也很难拿住.比如前些天买入了,结果8.5的 ...

  9. (一)REDIS之常见数据结构及操作

    (一)基本数据结构 1.1 String结构: String底层结构是动态字符串,可修改指定位置数据,通过预分配冗余空间减少内存的频繁分配,实际分配的空间capacity一般要高于实际字符串长度len ...

  10. oracle pl/sql异常处理

    DECLARE colse_result varchar2(100); BEGIN utl_http.set_wallet ('密钥地址', '密码'); select utl_http.reques ...