//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. 3、app自动化:使用appium定位元素的方式及元素的常用操作

    前提: 没有的包,要先进行对应包的安装 如:pip install Appium-Python-Client 一.定位元素,包括属性定位和xpath定位方式 a\属性定位 属性 定位方式     示例 ...

  2. prepare

    目标: 自动驾驶感知负责深度学习感知算法开发,包括目标识别.分割.检测.多目标追踪等有扎实的数理基础,有Linux.ROS.QNX等开发经验,熟悉C/C++编程,有良好的编程习惯 他人简历: skil ...

  3. 百题计划-5 codeforces 651 div2 D. Odd-Even Subsequence 二分检查

    https://codeforces.com/contest/1370/problem/D 二分检查 #include<bits/stdc++.h> using namespace std ...

  4. 查看Windows操作系统编码方式

    chcp 编码表: 代码页 国家(地区)或语言 437 美国 708 阿拉伯文(ASMO 708)720 阿拉伯文(DOS)850 多语言(拉丁文 I) 852 中欧(DOS) - 斯拉夫语(拉丁文 ...

  5. mysql 创建账号并授权

    1.mysql查看所有账号信息 mysql> select user,host from mysql.user; 2.创建账号 mysql> creat user 'glasssix' I ...

  6. goland使用go mod模式

    使用go mod之后,想要在goland中有代码提示,有两种方式,一种是使用gopath下的goimport工具,另一种是使用gomod自身的管理工具 我是用的是非gopath的方式,每次新建项目后总 ...

  7. 防止react-re-render: Why Suspense and how ?

    近期内部项目基础项目依赖升级,之前使用的路由缓存不再适用,需要一个适配方案.而在此过程中react re-render算是困扰了笔者很久.后来通过多方资料查找使用了freeze解决了此问题.本文主要论 ...

  8. 关于Java的惰性求值

    最近在学scala的时候,函数传参可以是传名参数,或者传值参数 1.Scala中的传名参数是什么意思?lazy关键字有什么作用? Scala官方文档的定义是:传名参数 仅在被使用时触发实际参数的求值运 ...

  9. ASP.NET MVC 返回文件

    将文件写入Response public ActionResult Zip() { string fname = Server.MapPath("~\\App_Data\\TestDB.zi ...

  10. fiddler设置自动响应

    使用fiddler 设置AutoResponder 1.auto responder:自动响应器,设置并开启后将把请求接口拦截并返回 2.enable rules:开启规则,开启后规则启用 3.unm ...