//时间戳转时间--type为"date":返回年月日;"time":返回时分秒;"":返回年月日时分秒;
const timestampToTime = (timestamp, type) => {
// console.log("timestamp", timestamp)
if (timestamp.length == 10) {
timestamp = timestamp * 1000
}
var date = new Date(timestamp); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
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());
if (type == "date") {
return Y + M + D;
}
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());
if (type == "time") {
return h + m + s;
}
return Y + M + D + ' ' + h + m + s;
}
//数字转换为字符串
const formatNumber = n => {
n = n.toString()
return n[1] ? n : `0${n}`
}
//分转化为元 fenToYuan(256) = 2.56
const fenToYuan = (amount) => {
if (!amount) {
return 0;
} else {
let num = (Number(amount) / 100).toFixed(2);
let handleNum = parseFloat(num)
let isToFixed = handleNum.toString().includes('.') && handleNum.toString().split('.')[1].length > 2
if (isToFixed) {
return handleNum.toFixed(2);
} else {
return handleNum
}
}
}
//元转分 yuanToFen(2.56) = 256
const yuanToFen = (amount) => {
return Math.round(Number(amount) * 100).toString()
}
// 小时数转分钟 changeStrToMinutes(5) = 300
const changeStrToMinutes = (time) => {
if (!time) {
return 0;
} else {
return Number(time) * 60;
}
}
// 分钟转小时 changeStrToHour(30) = 0.5
const changeStrToHour = (time) => {
if (!time) {
return 0;
} else {
let num = (Number(time) / 60).toFixed(2);
let handleNum = parseFloat(num)
let isToFixed = handleNum.toString().includes('.') && handleNum.toString().split('.')[1].length > 2
if (isToFixed) {
return handleNum.toFixed(2);
} else {
return handleNum
}
}
}
// 分钟数转换为 小时:分钟
const changeHourMinutestr = (str) => {
if (str !== "0" && str !== "" && str !== null) {
return ((Math.floor(str / 60)).toString().length < 2 ? "0" + (Math.floor(str / 60)).toString() :
(Math.floor(str / 60)).toString()) + ":" + ((str % 60).toString().length < 2 ? "0" + (str % 60)
.toString() : (str % 60).toString());
} else if (str == 0) {
return "00:00"
} else {
return "";
}
}
// 小时分钟格式转换为分钟数
const changeStrToMinutestr = (str) => {
var arrminutes = str.split(":");
if (arrminutes.length == 2) {
var minutes = parseInt(arrminutes[0]) * 60 + parseInt(arrminutes[1]);
return minutes;
} else {
return 0;
}
}
//日期字符串转成时间戳
//例如var date = '2015-03-05 17:59:00:00';
const dateStrChangeTimeTamp = (dateStr) => {
dateStr = dateStr.substring(0, 19);
dateStr = dateStr.replace(/-/g, '/');
var timeTamp = new Date(dateStr).getTime();
return timeTamp
}
//日期增加
const addDate = (date) => {
var curDate = new Date(date);
console.log(curDate);
var dateTime = new Date((curDate / 1000 + 86400) * 1000); //86400一天
console.log(dateTime);
var mon = (dateTime.getMonth() + 1);
console.log(mon);
var day = (dateTime.getDate());
// if(mon<10){
// mon="0"+mon;
// }if(day<2){
// day ="0"+day;
// }
//return dateTime.getFullYear() + '-' + mon + '-' + day;
return dateTime.getFullYear() + '-' + (mon < 10 ? "0" + mon : mon) + '-' + (day < 10 ? "0" + day : day);
}
//时间字符串过滤秒
const timeStringFilter = (timeStr, type) => {
if (!timeStr) {
return ''
}
if (type == 'date') {
return timeStr.substring(0, 10)
} else if (type == 'time') {
return timeStr.substring(11, timeStr.length - 3)
} else if (type == 'year-month') {
return timeStr.substring(0, 7)
} else if (type == 'month-date') {
return timeStr.substring(5, 10)
} else {
return timeStr.slice(0, timeStr.length - 3)
}
}
// 运算
const amend = (num1, num2, symbol) => {
if (!num1) num1 = 0;
if (!num2) num2 = 0;
var str1 = num1.toString(),
str2 = num2.toString(),
result, str1Length, str2Length
//解决整数没有小数点方法
try {
str1Length = str1.split('.')[1].length
} catch (error) {
str1Length = 0
}
try {
str2Length = str2.split('.')[1].length
} catch (error) {
str2Length = 0
}
var step = Math.pow(10, Math.max(str1Length, str2Length))
switch (symbol) {
case "+":
result = (num1 * step + num2 * step) / step
break;
case "-":
result = (num1 * step - num2 * step) / step
break;
case "*":
result = ((num1 * step) * (num2 * step)) / step / step
break;
case "/":
result = (num1 * step) / (num2 * step)
break;
default:
break;
}
return result
}
module.exports = {
timestampToTime,
formatNumber,
fenToYuan,
yuanToFen,
changeStrToMinutes,
changeStrToHour,
changeHourMinutestr,
changeStrToMinutestr,
dateStrChangeTimeTamp,
addDate,
timeStringFilter,
amend,
}
各種演算のカプセル化方法(タイムスタンプ~時刻)(金額:元~分)(演算:加減乗除)(時刻・日付を個別に抽出)etc...
おすすめ
転載: blog.csdn.net/weixin_44805839/article/details/132150215
おすすめ
ランキング