1.格式化时间
支持2种分割符的时间 eg: YYYY-MM-DD hh:mm:ss YYYY/MM/DD hh:mm:ss,或者毫秒数
export const formateDate = (date, formater) => {
if (typeof (date) !== 'number' && typeof (date) !== 'object' || !date) {
return "-- : --";
}
var nowDate = new Date(date);
var year = nowDate.getFullYear();
var month = nowDate.getMonth() + 1;
month = month < 10 ? "0" + month : month;
var day = nowDate.getDate();
day = day < 10 ? "0" + day : day;
var hour = nowDate.getHours();
hour = hour < 10 ? "0" + hour : hour;
var minute = nowDate.getMinutes();
minute = minute < 10 ? "0" + minute : minute;
var second = nowDate.getSeconds();
second = second < 10 ? "0" + second : second;
var _after = year + '-' + month + '-' + day;
if (formater) {
_after = formater.replace('YYYY', year).replace('MM', month).replace('DD', day).replace('hh', hour).replace('mm', minute).replace('ss', second);
}
return _after;
};
2.时间转换为日期时间戳
export const convertDate = (time) => {
if (!time) {
return "";
}
let currentTime = time;
if (time.indexOf("Z") === -1) {
currentTime = time.replace(/-/g, "/");
}
currentTime = Date.parse(currentTime);
// currentTime = currentTime / 1000;
return currentTime;
};
3.时间转换为日期时间戳
export const getMilliseconds = (time) => {
if (!time) {
return "";
}
// let s = '';
// let hour = time.split(':')[0];
// let min = time.split(':')[1];
// s = Number(hour * 3600) + Number(min * 60);
// return s * 1000;
time = "1970-01-02 " + time + ":00";
console.log(time);
let currentTime = new Date(time).getTime();
console.log(currentTime);
// let HH = currentTime.getHours();
// let MM = currentTime.getMinutes();
// let SS = currentTime.getSeconds();
// let MS = currentTime.getMilliseconds();
// currentTime = ((HH * 60 + MM) * 60 + SS) * 1000;
return currentTime;
};
4.秒转时间格式
export const getMS = (params) => {
if (typeof (params) !== 'number') {
return " :";
}
let time = "";
let min = Math.floor(params / 60);
let second = params % 60 < 10 ? "0" + params % 60 : params % 60;
let h = '';
if (min > 60 || min === 60) {
h = Math.floor(min / 60);
min = min % 60 < 10 ? "0" + min % 60 : min % 60;
h = h % 60 < 10 ? "0" + h % 60 : h % 60;
time = `${h}:${min}:${second}`;
} else {
min = min % 60 < 10 ? "0" + min % 60 : min % 60;
time = `${min}:${second}`;
}
return time;
};
5.计算过去时间距离当前时间的时间差
天-时-分-秒-毫秒 格式
// 计算时间戳
let begintime = '2020-9-28 12:25:16'
// 时间戳为 begintime_ms
let begintime_ms = Date.parse(new Date(begintime.replace(/-/g, "/")));
// dateBegin为开始时间的时间戳
function timeFn(dateBegin) {
//如果时间格式是正确的,那下面这一步转化时间格式就可以不用了
var dateEnd = new Date(); //获取当前时间
var dateDiff = dateEnd.getTime() - dateBegin; //时间差的毫秒数
var dayDiff = Math.floor(dateDiff / (24 * 3600 * 1000)); //计算出相差天数
var leave1 = dateDiff % (24 * 3600 * 1000); //计算天数后剩余的毫秒数
var hours = Math.floor(leave1 / (3600 * 1000)); //计算出小时数
//计算相差分钟数
var leave2 = leave1 % (3600 * 1000); //计算小时数后剩余的毫秒数
var minutes = Math.floor(leave2 / (60 * 1000)); //计算相差分钟数
//计算相差秒数
var leave3 = leave2 % (60 * 1000); //计算分钟数后剩余的毫秒数
var seconds = Math.round(leave3 / 1000);
var leave4 = leave3 % (60 * 1000); //计算分钟数后剩余的毫秒数
var minseconds = Math.round(leave4 / 1000);
var timeFn = "相差: " + dayDiff + "天" + hours + "小时" + minutes + "分钟" + seconds + "秒" + minseconds + "毫秒";
return timeFn;
}
// 相差: 0天0小时0分钟7秒7毫秒
秒转时间格式(h:mm:ss)
const getMS = (params) => {
if (typeof (params) !== 'number') {
return " :";
}
let time = "";
let min = Math.floor(params / 60);
let second = params % 60 < 10 ? "0" + params % 60 : params % 60;
let h = '';
if (min > 60 || min === 60) {
h = Math.floor(min / 60);
min = min % 60 < 10 ? "0" + min % 60 : min % 60;
h = h % 60 < 10 ? "0" + h % 60 : h % 60;
time = `${h}:${min}:${second}`;
} else {
min = min % 60 < 10 ? "0" + min % 60 : min % 60;
time = `${min}:${second}`;
}
return time;
};