简介:JavaScript 中的 new Date() 方法用于创建一个新的 Date 对象,该对象表示当前日期和时间。Date 对象提供了许多方法和属性,可以用于获取和设置日期和时间信息。
new Date([year, month, day, hour, minute, second, millisecond])
其中,每个参数都是可选的。如果没有指定参数,则 new Date() 方法将创建一个表示当前日期和时间的 Date 对象。
一、关于new Date()函数;
首先创建一个表示当前时间的 Date 对象 var nowTime = new Date(); console.log(nowTime); 控制台输出 Fri Nov 17 2023 10:41:58 GMT+0800 (中国标准时间) //获取 Date 当前时间 年月日时分秒 console.log(nowTime.toLocaleString()); //控制台输出 2023/11/17 10:41:58 //获取 Date 当前时间 年月日 console.log(nowTime.toLocaleDateString()); //控制台输出 2023/11/17 //获取 Date 当前时间 时分秒 console.log(nowTime.toLocaleTimeString()); //控制台输出 10:41:58 //获取 Date 对象的年份 console.log(nowTime.getFullYear()); //控制台输出 2023 //获取 Date 对象的月份(注意月份从0开始,所以使用时需要加1) console.log(nowTime.getMonth()); //控制台输出 11 //获取 Date 对象的日期 console.log(nowTime.getDate()); //控制台输出 17 //获取 Date 对象的小时 console.log(nowTime.getHours()); //控制台输出 10 //获取 Date 对象的分钟 console.log(nowTime.getMinutes()); //控制台输出 41 //获取 Date 对象的秒 console.log(nowTime.getSeconds()); //控制台输出 58 //获取 Date 对象的毫秒 console.log(nowTime.getMilliseconds()); //控制台输出 917
二、获取 Date 对象时间戳的五种方式;
1、new Date().getTime()方法 const timestamp1 = new Date().getTime(); console.log(timestamp1); //控制台输出 1700189060045 2、Date.now()方法 const timestamp2 = Date.now(); console.log(timestamp2); //控制台输出 1700189060045 3、Date.parse(new Date())方法 const timestamp3 = Date.parse(new Date()); console.log(timestamp3); //控制台输出 1700189060045 4、new Date()).valueOf()方法 const timestamp4 = new Date().valueOf(); console.log(timestamp4); //控制台输出 1700189060045 5、Number(new Date())方法 const timestamp5 = Number(new Date()); console.log(timestamp5); //控制台输出 1700189060045
三、Date 对象应用实例
实例1:计算月份差
有时候,我们需要知道两个日期之间相差多少天。可以先将日期转换为毫秒数,然后相减并除以一天的毫秒数(1000 * 60 * 60 * 24)来得到结果。function daysBetween(date1, date2) { let oneDay = 1000 * 60 * 60 * 24; return Math.round((date2 - date1) / oneDay);}let start = new Date('June 20, 2022');let end = new Date('July 20, 2022');console.log(daysBetween(start, end)); // 输出 "30"
实例2:计算两个日期之间的时间差
const startDate = new Date('2021-01-01');const endDate = new Date('2021-12-31');const timeDiff = endDate - startDate;// 计算两个日期之间的天数const daysDiff = Math.floor(timeDiff / (1000 * 60 * 60 * 24));// 计算两个日期之间的小时数const hoursDiff = Math.floor(timeDiff / (1000 * 60 * 60));// 计算两个日期之间的分钟数const minutesDiff = Math.floor(timeDiff / (1000 * 60));// 计算两个日期之间的秒数const secondsDiff = Math.floor(timeDiff / 1000);、、与实例1大同小异、、、、
实例3:设置特定日期和时间:
const date = new Date();// 设置日期为 2022 年 1 月 1 日date.setFullYear(2022);date.setMonth(0);date.setDate(1);// 设置时间为 0 时 0 分 0 秒date.setHours(0);date.setMinutes(0);date.setSeconds(0);// 获取设置后的日期和时间const formattedDate1 = date.toDateString();const formattedTime2 = date.toTimeString();
实例4:获取日期元素
在很多场景下,我们需要单独获取日期的年、月、日等元素。我们可以使用getFullYear()、getMonth()、getDate()等方法来实现这一点。let now = new Date();let year = now.getFullYear(); // 获取四位数年份let month = now.getMonth(); // 注意月份是从0开始计数的,所以需要加1let day = now.getDate();console.log(`${year}/${month + 1}/${day}`); // 输出类似 "2022/6/20"
实例5:格式化日期
为了美观或适应用户偏好,我们通常需要将日期格式化成特定的字符串。这里我们使用模板字面量和padStart()方法来实现:function formatDate(date) { let year = date.getFullYear(); let month = `0${date.getMonth() + 1}`.slice(-2); let day = `0${date.getDate()}`.slice(-2); return `${year}-${month}-${day}`;}let today = new Date();console.log(formatDate(today)); // 输出类似 "2022-06-20"
创作不易,感觉有用,就一键三连,感谢(●'◡'●)