//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];
}

最新文章

  1. 页面元素坐标和偏移(clientX/pageX/screenX/layerX/offsetWidth/scrollWidth/clientWidth等)相关整理
  2. 10个常见的Node.js面试题
  3. hadoop安装
  4. SQL Server(六)——索引、视图和SQL编程
  5. LoadRunner 12 发布,主推云
  6. 01分数规划POJ3621(最优比例生成环)
  7. HDU 4441 Queue Sequence(splay)
  8. ie10中元素超出父元素的宽度时不能自动隐藏
  9. Python报错:SyntaxError: Non-ASCII character &#39;\xe5&#39; in file
  10. javascript 弹框提示选择
  11. HGE引擎 - 绘制,声音,碰撞处理
  12. linux find命令之exec
  13. java之泛型解说
  14. Spring事务管理—aop:pointcut expression解析
  15. Relax信息学题库须知
  16. DNA Evolution CodeForces - 828E(树状数组)
  17. 端口报错listen eaddrinuse:::xxx
  18. 图像像素转换 8-bit 16-bit 32-bit游戏效果
  19. vue之介绍
  20. 【bzoj3195】 Jxoi2012—奇怪的道路

热门文章

  1. uniapp打包小程序运行到微信开发工具
  2. qt5 windeployqt.exe 部署后的程序,运行时仍然报错的问题 (无法定位程序输入点 _ZdlPvj)
  3. [转载] Image Types
  4. kube-proxy
  5. CentOS8安装pycharm报错【Can&#39;t connect to X11 window server using &#39;:0&#39; as the value of the DISPLAY variable. 】
  6. MySQL中的sql优化
  7. make编译工具教程
  8. C# Winform 多线程更新界面UI控件,解决界面卡顿问题(转)
  9. Hyperledger fabric 续篇
  10. vue组件之间的传参