time_aa() {
var date1 = "2019-04-26 11:05:32"; //开始时间
var date2 = new Date(); //结束时间
var date3 = date2.getTime() - new Date(date1).getTime(); //时间差的毫秒数
var subMinutes = Math.floor(date3 / (60 * 1000)); //获取总共的分钟差
//计算出相差天数
var days = Math.floor(date3 / (24 * 3600 * 1000));
//计算出小时数
var leave1 = date3 % (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);
alert(
" 相差 " +
days +
"天 " +
hours +
"小时 " +
minutes +
" 分钟" +
seconds +
" 秒"
);
}
moment.js时间计算库
以2019-20-13 21:45 等格式输出
//调用 dateFormat("YYYY-mm-dd HH:MM", new Date);
Utils.dateFormat = function (fmt, date) {
let ret;
let opt = {
"Y+": date.getFullYear().toString(), // 年
"m+": (date.getMonth() + 1).toString(), // 月
"d+": date.getDate().toString(), // 日
"H+": date.getHours().toString(), // 时
"M+": date.getMinutes().toString(), // 分
"S+": date.getSeconds().toString() // 秒
// 有其他格式化字符需求可以继续添加,必须转化成字符串
};
for (let k in opt) {
ret = new RegExp("(" + k + ")").exec(fmt);
if (ret) {
fmt = fmt.replace(
ret[1],
ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, "0")
);
}
}
return fmt;
}
利用moment.js时间以30分钟为单位
需求:18:11 =>18:30
18:34 => 19:00
const tiem = util.dateFormat("YYYY-mm-dd HH:MM", this.currentDate);
//上面自己封装的方法,获取到的item时间格式YYYY-MM-DD (2019-12-30)
const start = moment(tiem);
const remainder = 30 - (start.minute() % 30);
const dateTime = moment(start)
.add(remainder, "minutes")
.format("YYYY-MM-DD HH:mm");
console.log(dateTime);
this.start_time = dateTime;
this.end_time = dateTime;
以小时0.5 、 1.5 或者2.5等格式输出的格式
this.end_time = ‘YYYY-mm-dd HH:MM’
this.end_time = ‘YYYY-mm-dd HH:MM’
var date3 =
new Date(this.end_time).getTime() -
new Date(this.start_time).getTime();
this.spend_time = date3 / 1000 / 60 / 60;
console.log(this.spend_time, "this.spend_time");
moment 时间相减返回小时差两种方法
this.end_time的格式 2019-11-15 11:00
this.start_time 的格式 2019-11-15 16:00
或者直接用new Date()时间来,moment 是把时间转化了计算的
//第一种方法
var date3 = moment(this.end_time) - moment(this.start_time);
this.spend_time = date3 / 1000 / 60 / 60;
//第二种方法
const date1 = moment(this.start_time);
const date2 = moment(this.end_time);
const date3 = date2.diff(date1, "minute"); //计算相差的分钟数
const h = date3 / 60; //相差的小时数
console.log(h, "mm");