//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. docker 搭建 nginxconfig.io 文档

    docker镜像仓库 https://hub.docker.com/r/devopstestlab/nginxconfig.io 获取镜像 docekr pull devopstestlab/ngin ...

  2. Java线程安全之synchronized 与 lock的异同

    * synchronized 与 lock的异同?* 相同:二者都可以解决线程安全问题* 不同:synchronized机制再执行完相应的同步代码以后,自动的释放同步监视器* Lock需要手动的启动同 ...

  3. Jenkins+Docker 实现一键自动化部署项目!

    博主分享的非常好:https://mp.weixin.qq.com/s/a0JOuiqLsUMcQSEjZ4uGTg 本文章实现最简单全面的Jenkins+docker+springboot 一键自动 ...

  4. selenium最常用的基本方法

    1.打开,关闭浏览器 打开chrome浏览器:webdriver.Chorme() 打开Firefox浏览器:webdriver.Firefox() 关闭当前浏览器窗口:driver.close() ...

  5. JVM中的GC系统

    什么是GC? GC(Garbage Collection)称之为垃圾回收,在JVM的执行引擎中自带这样的一个GC系统,此系统会按照一定的算法对内存进行监控和垃圾回收. 如何判断哪些对象是垃圾? 1.引 ...

  6. python bottle小记

    # coding=utf-8import bottle @bottle.route('/url/url', method=['GET','POST'])def big_data(): # 获取请求参数 ...

  7. MySQL表操作(上篇)

    1.存储引擎的介绍 (1)存储引擎 1.什么是存储引擎? mysql中建立的库===>文件夹 库中建立的表===>文件 现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不 ...

  8. js扩展符号

    扩展数组:const arr23 = ['a', 'b', 'c']; console.log(...arr23); a b c扩展字符串: abc = 'abcdefghi'; console.lo ...

  9. Java操作ES

    一.ES基本概念 1. 节点:Elastic是一个分布式数据库,每个数据库实例是一个节点Node,一台服务器上可以有多个Node,可以多台服务器协同工作 2. 集群:一组节点Node构成一个集群Clu ...

  10. tif文件拼接+转换成netcdf格式

    2022-11-16 11:33 手上有若干个SRTM1V3.0 的高程数据,为HGT格式,需要将其拼接并转换成netcdf格式,以让ncl能够进行读取 步骤: gdal_translate A.hg ...