微信小程序开发之——时间工具类

一 概述

  • 时间格式化:formatTime,接收参数:Date,返回格式化日期(yyyy/MM/DD HH:MM:SS)
  • 时间间隔:twoTimeInterval,接收参数,formatTime,返回days天hours时minutes分seconds秒

二 时间工具类

2.1 工具类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/**
* @description:时间格式化
* @param {*} date:日期
*/
const formatTime = date => {
const year = date.getFullYear()
const month = date.getMonth() + 1
const day = date.getDate()
const hour = date.getHours()
const minute = date.getMinutes()
const second = date.getSeconds()

return `${[year, month, day].map(formatNumber).join('/')} ${[hour, minute, second].map(formatNumber).join(':')}`
}

const formatNumber = n => {
n = n.toString()
return n[1] ? n : `0${n}`
}
/**
* @description:时间间隔
* @param {*} startTime :开始时间
* @param {*} endTime :结束时间
*/
function twoTimeInterval(startTime, endTime) {

// 开始时间
let d1 = startTime.replace(/\-/g, "/");
let date1 = new Date(d1);

// 结束时间
let d2 = endTime.replace(/\-/g, "/");
let date2 = new Date(d2);

// 时间相差秒数
let dateDiff = date2.getTime() - date1.getTime();

// 计算出相差天数
let days = Math.floor(dateDiff / (24 * 3600 * 1000));

// 计算出小时数
let residue1 = dateDiff % (24 * 3600 * 1000); // 计算天数后剩余的毫秒数
let hours = Math.floor(residue1 / (3600 * 1000));

// 计算相差分钟数
let residue2 = residue1 % (3600 * 1000); // 计算小时数后剩余的毫秒数
let minutes = Math.floor(residue2 / (60 * 1000));

// 计算相差秒数
let residue3 = residue2 % (60 * 1000); // 计算分钟数后剩余的毫秒数
let seconds = Math.round(residue3 / 1000);

let returnVal =
((days == 0) ? "" : days + "天") +
((hours == 0) ? "" : days + "时") +
((minutes == 0) ? "" : minutes + "分") +
((seconds == 0) ? "" : seconds + "秒");

return returnVal;

}
module.exports = {
formatTime,
twoTimeInterval
}

2.2 使用

2.2.1 formatTime

1
util.formatTime(new Date())

2.2.2 twoTimeInterval

1
console.log(util.twoTimeInterval("2021/11/19 13:03:01", "2021/11/19 13:04:01"));