时间和日期

时间和日期

获取现在的时间

// 以Date形式存储
var now = new Date();
// 获取当前的年份
var year = now.getFullYear();
// 获取当前的月份(注意:返回的月份是从0开始的,所以要加1)
var month = now.getMonth() + 1;
// 获取当前是几号
var day = now.getDate();
// 获取当前小时
var hours = now.getHours();
// 获取当前分钟
var minutes = now.getMinutes();
// 获取当前秒数
var seconds = now.getSeconds();
// 获取当前毫秒数
var milliseconds = now.getMilliseconds();

格式化时间或日期

可以使用第三方库dayjs

安装dayjs

npm install dayjs
# 或者如果使用yarn
yarn add dayjs

格式化

const dayjs = require('dayjs');
// 或者使用import
// import dayjs from "dayjs";
dayjs(new Date()).format("MM-DD hh:mm");

详细的格式化模板见这里

计算时间

计算距离多长时间之前(之后)的时间

var nowTime=new Date();
// 注意时间间隔以毫秒计算,下面为一天的毫秒数
var millisecondsToAdd = 1000 * 60 * 60 * 24;
// 注意讲Date转换成时间戳再进行运算
var newTime=new Date(nowTime.getTime() + millisecondsToAdd);

计算两个时间之间的时间差

// 创建两个表示时间的 Date 对象
var date1 = new Date('2024-04-01T12:00:00');
var date2 = new Date('2024-04-01T14:30:00');

// 计算两个时间之间的毫秒差,Date可以直接计算
var timeDifferenceInMilliseconds = Math.abs(date2 - date1);

// 计算毫秒差对应的小时数、分钟数和秒数
var hoursDifference = Math.floor(timeDifferenceInMilliseconds / (1000 * 60 * 60));
var minutesDifference = Math.floor((timeDifferenceInMilliseconds % (1000 * 60 * 60)) / (1000 * 60));
var secondsDifference = Math.floor((timeDifferenceInMilliseconds % (1000 * 60)) / 1000);

console.log("时间差为:" + hoursDifference + "小时 " + minutesDifference + "分钟 " + secondsDifference + "秒");